@charset "utf-8";

/* -------------------------------------------------- */
/* RESET*/
/* -------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}

li {
	list-style-type: none;
}

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	vertical-align: bottom;
}

textarea,select,option {
	font: inherit;
}

/* -------------------------------------------------- */
/* LINK */
/* -------------------------------------------------- */
a { text-decoration: none; color: currentColor; }
/* a:link,
a:visited { text-decoration: none; color: currentColor; }
a:hover  { text-decoration: none; color: currentColor; }
a:active { text-decoration: none; color: currentColor; } */

/* -------------------------------------------------- */
/* CLEARFIX */
/* -------------------------------------------------- */
/* .cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	*zoom: 1;
} */


/* -------------------------------------------------- */
/* COMMON */
/* -------------------------------------------------- */
html {
	font-size: 62.5%;/* 10px */
}

body {
	background: #FFFFFF;
	color: #333333;
	font-size: 14px;
	font-size: 1.4rem;
}

:root {
	/* 固定ヘッダー高さ（メインビジュアルの min-height 計算用） */
	--header-height: 59.5px;
}

#container {
	position: relative;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */

.brSp {
	display: none;
}

.brPc {
	display: inline;
}

.brTab {
	display: none;
}

/* ----- */
/* 全ページ共通パーツ */
/* ----- */

/* ----- */
/* レイアウト共通 */
/* ----- */
.inner {
	width: 900px;
	max-width: 92%;
	margin: 0 auto;
}
.innerNarrow {
	width: 750px;
	max-width: 92%;
	margin: 0 auto;
}
.innerWide {
	width: 1050px;
	max-width: 92%;
	margin: 0 auto;
}

.innerFull {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

/* ----- */
/* セクション共通 */
/* ----- */

/* セクションタイトル（フォント） */
.sectionHead,
.sectionTitle,
.sectionTitleSub,
.sectionTitGlow,
.subMvTitle {
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.sectionHead {
	text-align: center;
	font-size: clamp(2.0rem, 2.0325vw, 2.8rem);
	letter-spacing: 0.05em;
	margin-bottom: 1.45em;
}

.sectionTitle {
	color: #016B3A;
	font-weight: 700;
	position: relative;
	display: inline-block;
	margin: 0 auto;
	z-index: 1;
}

.sectionTitle::after {
	content: "";
	position: absolute;
	top: 60%;
	right: -3.1em;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: clamp(75px, 10.71vw, 150px);
	height: clamp(75px, 10.71vw, 150px);
	background: url("img/common/common_ttl_bg.svg") no-repeat right center / contain;
	z-index: -1;
}

.sectionLead {
	font-size: clamp(1.2rem, 1.035vw, 1.35rem);
	font-weight: 500;
	padding-top: 1em;
}

.sectionTitleSub {
	font-size: clamp(2.0rem, 2.19vw, 2.8rem);
	font-weight: 700;
	color: #016B3A;
	margin-bottom: 0.7em;
}

/* セクションタイトル（中央・円形ハイライト背景） */
.sectionTitGlow {
	display: block;
	position: relative;
	z-index: 1;
	font-size: clamp(2.0rem, 2.19vw, 2.8rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #016B3A;
	text-align: center;
	padding: 1.6em 1em;
	margin-top: -1.6em;
	background: url("img/common/section_tit_grow.png") no-repeat center center / auto 100%;
}

.number {
	font-family: "Roboto", "Noto Sans JP", sans-serif;
}

/* ----- */
/* ボタン共通 */
/* ----- */

/* 共通ボタン（オレンジ） */
.commonBtn {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	flex-direction: column;
	width: 18.75em;
	max-width: 75vw;
	height: 3.333em;
	padding: 0.7em;
	border-radius: 999px;
	border: 3px solid transparent;
	font-size: clamp(1.4rem, 1.63vw, 1.8rem);
	letter-spacing: 0.04em;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	background-color: #FF6C00;
	color: #ffffff;
	-webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.commonBtn::before {
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	width: 1.33em;
	height: 1.33em;
	border-radius: 50%;
	background-color: #ffffff;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}

.commonBtn::after {
	content: "";
	position: absolute;
	right: 1.6em;
	top: 50%;
	width: 0.35em;
	height: 0.35em;
	border-top: 1.5px solid #FF6C00;
	border-right: 1.5px solid #FF6C00;
	-webkit-transition: border-color 0.3s ease;
	transition: border-color 0.3s ease;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);		
}

.commonBtn:hover,
.commonBtn:focus-visible,
.commonBtn:active {
	background-color: #ffffff;
	color: #FF6C00;
}

.commonBtn:hover::before,
.commonBtn:focus-visible::before,
.commonBtn:active::before {
	background-color: #FF6C00;
}

.commonBtn:hover::after,
.commonBtn:focus-visible::after,
.commonBtn:active::after {
	border-top-color: #ffffff;
	border-right-color: #ffffff;
}

.commonBtn:hover,
.commonBtn:focus-visible,
.commonBtn:active {
	border-color: #FF6C00;
}

/* 白のボーダー付きボタン */
.commonBtn.border {
	border-color: #fff;
}

.commonBtn.border:hover,
.commonBtn.border:focus-visible,
.commonBtn.border:active {
	border-color: #FF6C00;
}

/* 白背景/緑枠のボタン */
.commonBtn.plane {
	background-color: #fff;
	color: #016B3A;
	border: 1px solid #016B3A;
}
.commonBtn.plane::before {
	background-color: #016B3A;
}
.commonBtn.plane::after {
	border-top-color: #fff;
	border-right-color: #fff;
}

.commonBtn.plane:hover,
.commonBtn.plane:focus-visible,
.commonBtn.plane:active {
	background-color: #016B3A;
	color: #ffffff;
}

.commonBtn.plane:hover::before,
.commonBtn.plane:focus-visible::before,
.commonBtn.plane:active::before {
	background-color: #ffffff;
}

.commonBtn.plane:hover::after,
.commonBtn.plane:focus-visible::after,
.commonBtn.plane:active::after {
	border-top-color: #016B3A;
	border-right-color: #016B3A;
}


/* ----- */
/* ヘッダー */
/* ----- */

#header {
	position: sticky;
	top: 0;
	box-shadow: none;
	background: #ffffff;
	z-index: 20;
	-webkit-transition: box-shadow 0.25s ease;
	transition: box-shadow 0.25s ease;
}

#header.is-scrolled {
	-webkit-box-shadow: 0 2.5px 5px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 2.5px 5px rgba(0, 0, 0, 0.16);
}

.headerInner {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	justify-content: space-between;
}


/* ヘッダーロゴ */
.headerLogoArea {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0 clamp(11px, 1.817vw, 25px);
}

.headerLogo {
	width: clamp(150px, 16.082vw, 225px);
}

.headerLogo img {
	display: block;
	max-width: 100%;
	max-height: 45.9px;
}

/* コンタクトエリア */
.contactArea {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}


/* 下部固定コンタクト（デフォルトは非表示／SPで表示） */
.spContactFixed {
	display: none;
}

.contactArea * , .contactArea a {
	color: #ffffff;
}

.contactTelBox {
	position: relative;
	padding: clamp(2.5px, 0.4777vw, 7.5px) clamp(8.5px, 1.802vw, 28.9px) clamp(2.5px, 0.53125vw, 8.5px);
	background: #2E9D61;
	line-height: 1.2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.contactTelLink::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.contactTelComment {
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.7px 8.5px;
	margin-bottom: 1.7px;
}

.contactTelCommentMain {
	font-size: clamp(0.8rem, 0.7905vw, 1.2rem);
	letter-spacing: 0.02em;
}

.contactTelCommentSub {
	font-size: clamp(0.6rem, 0.6035vw, 1.0rem);
	letter-spacing: 0.06em;
	padding-bottom: 0.2em;
	border-bottom: 0.85px solid currentColor;
}
.contactTelTextArea{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.7px;
	font-size: clamp(2.2rem, 2.1845vw, 3.0rem);
}

.contactTelTextArea::before {
	content: "";
	display: inline-block;
	width: 1.05em;
	height: 1.39em;
	background: url("img/common/icon_tel_common.svg") no-repeat center / contain;
}

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

.contactTelNumber {
	font-weight: 700;
	letter-spacing: 0.07em;
}

.contactTelTime {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.8em;
	width: 100%;
	font-size: clamp(0.8rem, 0.731vw, 1.2rem);
	letter-spacing: 0.04em;
}

.contactTelTime::before,
.contactTelTime::after {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
	min-width: 0;
	height: 1px;
	background: currentColor;
}

.contactMailBox {
	background: #FF6C00;
}

.contactMail {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0.67em 1.05em;
	font-size: clamp(0.8rem, 0.731vw, 1.2rem);
	letter-spacing: 0.02em;
	text-align: center;

}

.contactMail::before {
	content: "";
	display: inline-block;
	width: 2.2em;
	height: 3.24em;
	background: url("img/common/icon_mail_common.svg") no-repeat center / contain;
}

.contactMailText {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	white-space: nowrap;
	gap: 0.2em;
}

.contactMailSub {
	font-weight: 500;
}

.contactMailMain {
	font-size: clamp(1.0rem, 0.7905vw, 1.2rem);
	font-weight: bold;
	line-height: 1;
}

/* hover / active */
.headerLogo a,
.contactMailBox {
	-webkit-transition: filter 0.3s;
	transition: filter 0.3s;
}

.headerLogo a:hover,
.headerLogo a:active,
.contactMailBox:hover,
.contactMailBox:active {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

/* ハンバーガーメニュー */
#hamburgerMenu {
	display: none;
}

.u-visuallyHidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* ----- */
/* グローバルナビ */
/* ----- */

#gNav {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	min-width: 0;
}

#gNavSp {
	display: none;
}

.gNavList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}


.gNavList li {
	text-align: center;
}


.gNavList li a {
	display: inline-block;
	padding: 0.44em 0.22em;
	font-size: clamp(1.0rem, 1.0965vw, 1.5rem);
	font-weight: bold;
	text-align: center;
}

/* ----- */
/* フッター */
/* ----- */

#footer {
	padding-top: 97.5px;
	font-size: clamp(0.68rem, 0.782vw, 1.02rem);
}

.footerInner {
	padding: 37.5px 3.5% 39.65px 3%;
	background: #F0F8F5;
	border-radius: 8.5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 4%;
}

.footerContent {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	min-width: 0;
	font-weight: 500;
}

.footerInfo {
	letter-spacing: 0.1em;
}

.footerName {
	font-size: clamp(1.6rem, 1.7vw, 2.3rem);
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.8em;
	margin-bottom: 0.3em;
}

.footerInstagram img {
	display: block;
	width: 1em;
	height: 1em;
}

.footerAddress {
	font-size: clamp(1.5rem, 1.309vw, 1.7rem);
}

.footerNote {
	/* font-size: clamp(1.2rem, 1.23vw, 1.6rem); */
	font-size: 1.36rem;
}

.footerMap {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 46.8%;
	        flex: 0 0 46.8%;
	min-width: 0;
}

.footerMapInner {
	width: 100%;
	height: 100%;
}

.footerMapInner iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.footerNavWrap {
	padding-top: 2em;
	color: #016B3A;
	font-size: clamp(1.1rem, 1.173vw, 1.4rem);
	letter-spacing: 0.04em;
}

.footerNavWrap a {
	-webkit-transition: color 0.3s;
	transition: color 0.3s;
}

.footerNavWrap a:hover,
.footerNavWrap a:active {
	color: #2E9D61;
}

.footerNav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-start;
	    -ms-flex-pack: flex-start;
	        justify-content: flex-start;
	flex-wrap: wrap;
	gap: 0.8em 2em;
	margin-bottom: 0.8em;
}

.footerNavService {
	gap: 0.8em 1em;
	margin-bottom: 1em;
}

.footerCopy {
	text-align: center;
	padding: 2.2em 2em 3em;
	font-size: clamp(0.9rem, 1.0455vw, 1.4rem);
	letter-spacing: 0.06em;
	font-weight: 500;
}

/* ----- */
/* コンタクトバナー */
/* ----- */
.contactBannerInner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.contactBannerPhoto {
	position: relative;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
}

.contactBannerPhotoImg {
	width: 100%;
	height: 100%;
}

.contactBannerPhotoImg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contactBannerPhotoSpeech {
	position: absolute;
	left: 50%;
	bottom: 38px;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 70%;
	max-width: 643px;
}

.contactBannerPhotoSpeech img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.contactBannerContent {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 50%;
	        flex: 0 0 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	justify-content: center;
	padding: 10px;
	background: #2E9D61;
	box-shadow: inset 0 0 0 10px #2E9D61, inset 0 0 0 11px #ffffff;
	color: #ffffff;
	text-align: center;
}

.contactBannerContentInner {
	width: fit-content;
	max-width: 100%;
	padding: 57px 5%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: stretch;
}

.contactBannerLabel {
	display: inline-block;
	width: 100%;
	padding: 0.4em 1.8em;
	margin-bottom: 0.4em;
	border-radius: 999px;
	background: #ffffff;
	color: #016B3A;
	font-size: clamp(1.5rem, 1.26vw, 2.4rem);
	font-weight: bold;
	letter-spacing: 0.1em;
}

.contactBannerCatch {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.8em;
	font-size: clamp(1.6rem, 1.68vw, 3.2rem);
	font-weight: bold;
	letter-spacing: 0.07em;
	position: relative;
}

.contactBannerCatch::before,
.contactBannerCatch::after {
	content: "";
	width: 4px;
	height: 1.2em;
	background: #fff;
}
.contactBannerCatch::before {
	rotate: -30deg;
}
.contactBannerCatch::after {
	rotate: 30deg;
}

.contactBannerCatch::after {
	-webkit-transform: scaleX(-1);
	        transform: scaleX(-1);
}

.contactBannerTel {
	position: relative;
	color: #FFEE19;
	font-size: clamp(3.5rem, 4.32vw, 8.2rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	display: inline-block;
	padding-left: 1em;
}

.contactBannerTel::before {
	content: "";
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	background: url("img/common/icon_tel_contact_yellow.svg") no-repeat center / contain;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.contactBannerTime {
	font-size: clamp(1.4rem, 1.26vw, 2.4rem);
	letter-spacing: 0.06em;
	font-weight: bold;
}

.contactBannerNote {
	font-size: clamp(1.4rem, 1.16vw, 2.2rem);
	font-weight: bold;
	letter-spacing: 0.04em;
	margin-bottom: 0.5em;
}

.contactBannerBtnBox {
	width: 100%;
}

.contactBannerBtn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0.7em;
	width: 100%;
	max-width: 100%;
	background: #ff6c00;
	border-radius: 10px;
	border: 3px solid #fff;
	color: #ffffff;
	text-align: center;
	padding: 1.5em;
	letter-spacing: 0.04em;
}

.contactBannerBtn::before {
	content: "";
	display: block;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: clamp(30px, 2.86vw, 43px);
	height: clamp(37px, 3.73vw, 56px);
	background-image: url("img/common/icon_mail_common.svg");
}

.contactBannerBtnText {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	align-items: flex-start;
	white-space: nowrap;
	line-height: 1.2;
}


.contactBannerBtnSub {
	display: block;
	font-size: clamp(1.4rem, 1.2vw, 1.8rem);
	font-weight: 500;
}

.contactBannerBtnMain {
	display: block;
	font-size: clamp(1.6rem, 2.06vw, 3.1rem);
	font-weight: bold;
}

.contactBannerBtn .contactBannerBtnMain {
	letter-spacing: 0.04em;
}

.contactBannerBtn > a {
	-webkit-transition: filter 0.3s;
	transition: filter 0.3s;
}

.contactBannerBtn > a:hover,
.contactBannerBtn > a:active {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

/* ----- */
/* 下層ページ共通 */
/* ----- */

/* 下層MV */
.subMv {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 22.5vw;
}

.subMvBg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: center / cover no-repeat;
}

.subMvTitleBox {
	position: absolute;
	bottom: 0;
	left: 0;
	background: transparent linear-gradient(180deg, #FFFFFFCC 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
	border-top-right-radius: 45px;
}

.subMvTitle {
	margin: 0;
	font-size: clamp(1.6rem, 2.3025vw, 3rem);
	font-weight: 700;
	padding: 1.3em 2em;
	width: auto;
	text-align: center;
	max-width: 100%;
	color: #016B3A;
	letter-spacing: 0.05em;
	line-height: 1;
}

/* 下層パンくず */
.subMvBreadcrumb {
	background-color: #ECF4EF;
}

.breadcrumbList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 1em 0;
	list-style: none;
	font-size: clamp(0.9rem, 1.07vw, 1.4rem);
	font-weight: 500;
	letter-spacing: 0.04em;
}

.breadcrumbList > li:not(:last-child)::after {
	content: ">";
	display: inline-block;
	margin: 0 1em;
}

.breadcrumbList a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.2em;
	text-decoration-thickness: max(1px, 0.06em);
	-webkit-transition: text-decoration-color 0.3s ease;
	transition: text-decoration-color 0.3s ease;
}

.breadcrumbList a:hover,
.breadcrumbList a:active,
.breadcrumbList a:focus-visible {
	text-decoration: underline;
	text-decoration-color: currentColor;
}

/* 下層ページリンク */
/* ----- */
.subPageLinksList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 3.33%;
}

.subPageLink {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: clamp(11px, 1.44vw, 18px);
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 calc((100% - 3.33%) / 2);
	        flex: 0 0 calc((100% - 3.33%) / 2);
	max-width: calc((100% - 3.33%) / 2);
	min-height: 6.428em;
	padding: 0.5em 3.0em 0.5em 0.5em;
	border: 3px solid #2E9D61;
	border-radius: 7.5px;
	background-color: #ffffff;
	color: #2E9D61;
	font-size: clamp(1.4rem, 1.5333vw, 2.3rem);
	font-weight: 700;
	line-height: 1.46;
	letter-spacing: 0.1em;
	-webkit-transition: background-color 0.3s ease, color 0.3s ease;
	transition: background-color 0.3s ease, color 0.3s ease;
	cursor: pointer;
}

.subPageLinkImg {
	display: block;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	max-width: 65%;
	max-height: 6em;
	-o-object-fit: contain;
	   object-fit: contain;
}

.subPageLinkOption .subPageLinkImg {
	height: 5em;
}

.subPageLinkCompany .subPageLinkImg {
	height: 6em;
	-ms-flex-item-align: end;
	    align-self: flex-end;
	margin-bottom: -0.5em;
}

.subPageLinkService .subPageLinkImg {
	width: 44%;
	padding-top: 0.5em;
}

.subPageLink::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 1em;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background-color: #2E9D61;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}

.subPageLink::after {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(1em + 0.36em);
	width: 0.24em;
	height: 0.24em;
	border-top: 0.12em solid #ffffff;
	border-right: 0.12em solid #ffffff;
	-webkit-transition: border-color 0.3s ease;
	transition: border-color 0.3s ease;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

.subPageLink:hover,
.subPageLink:focus-visible,
.subPageLink:active {
	background-color: #2E9D61;
	color: #ffffff;
}

.subPageLink:hover::before,
.subPageLink:focus-visible::before,
.subPageLink:active::before {
	background-color: #ffffff;
}

.subPageLink:hover::after,
.subPageLink:focus-visible::after,
.subPageLink:active::after {
	border-top-color: #2E9D61;
	border-right-color: #2E9D61;
}

.subPageLinkText {
	color: inherit;
}



/* ----- */
/* 一部ページ共通 */
/* ----- */

/* ----- */
/* サービス紹介 */
/* ----- */

.serviceGrid {
	margin-bottom: 45px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.serviceMain {
	width: 52.7%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	justify-content: center;
	background: transparent linear-gradient(180deg, #F0F8F5 0%, #D0EDDB 100%) 0% 0% no-repeat padding-box;

}

.servicePhoto {
	width: 47.3%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.serviceSlider {
	position: relative;
	width: 100%;
	overflow: hidden;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}

.serviceSlide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	-webkit-transition: opacity 0.8s ease;
	transition: opacity 0.8s ease;
}

.serviceSlide img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.serviceSlide.is-active {
	position: relative;
	opacity: 1;
}

/* サービス特徴リスト */
.serviceList {
	counter-reset: service;
	padding: 45px 3.9% 45px 5.4%;
}

.serviceItem {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 15px 2% 15px 5.6%;
	background: #fff;
	border-radius: 7.5px;
}

.serviceItem + .serviceItem {
	margin-top: 18px;
}

.serviceItemHead {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: flex-start;
	    -ms-flex-align: flex-start;
	        align-items: flex-start;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 36%;
	        flex: 0 0 36%;
	padding-right: 1em;
}

.serviceItemHead::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background: #707070;
}

.serviceItem:before {
	counter-increment: service;
	content: counter(service);
	position: absolute;
	top: calc(50% - 0.1em);
	left: -0.3em;
	transform: translateY(-50%);
	color: #2E9D61;
	font-size: clamp(3.225rem, 4.605vw, 6.45rem);
	font-weight: 700;
	line-height: 1;
}

.serviceItemTitle {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	font-size: clamp(1.1rem, 0.7875vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.05em;
}

.serviceItemTitleHighlight {
	display: inline-block;
	color: #016B3A;
	font-size: clamp(1.5rem, 1.1025vw, 2.1rem);
	font-weight: 700;
	line-height: 1.2;
}

.serviceItemText {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 64%;
	        flex: 0 0 64%;
	padding-left: 1.5em;
	font-size: clamp(1.2rem, 0.7125vw, 1.4rem);
	font-weight: 500;
	letter-spacing: 0.05em;
}


/* 銀イオン効果・安全性 */
/* ----- */
.serviceSilverBox {
	border: 1px solid #2E9D61;
	border-radius: 7.5px;
	padding: 45px 3.75% 41px 5.83%;
}

.serviceSilverTit {
	color: #016B3A;
	font-size: clamp(1.6rem, 1.3875vw, 1.8rem);
	font-weight: bold;
	margin-bottom: 0.2em;
	letter-spacing: 0.05em;
}

.serviceSilverText {
	/* font-size: clamp(1.2rem, 1vw, 1.3rem); */
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

/* 銀イオンの殺菌・抗菌効果 */
.serviceSilverGerm {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 11px;
	width: 100%;
}

.serviceSilverGermVisual {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 4.9%;
	width: 100%;
}

.serviceSilverGermLabels {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	min-width: 0;
}

/* 菌名グリッド */
.serviceSilverGermGrid {
	margin: 0;
	padding: 0;
	list-style: none;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 9px 1fr 9px 1fr 9px 1fr;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(2, auto);
	grid-gap: 5px 4.5px;
}

.serviceSilverGermItem {
	min-width: 0;
}

.serviceSilverGermName {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	min-height: 4.38em;
	background-color: #016B3A;
	border-radius: 7.5px;
	color: #fff;
	font-weight: bold;
	font-size: clamp(1.0rem, 1.035vw, 1.3rem);
	text-align: center;
	padding: 1em 0.3em;
}

.serviceSilverCharacter {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 34.9%;
}


.serviceSilverCharacterImg {
	display: block;
	width: 55.5%;
	max-width: 100%;
	height: auto;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 55.5%;
	flex: 0 0 55.5%;
}

.serviceSilverSpeech {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
}

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

/* 銀イオンの安全性 */
.serviceSilverGerm + .serviceSilverSafety {
	margin-top: 45px;
}

.serviceSilverSafety {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 4.15%;
}

.serviceSilverSafetyMain {
	-webkit-box-flex: 1;
		-ms-flex: 1 1 0;
			flex: 1 1 0;
	min-width: 0;
}

.serviceSilverSafetyPhoto {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 55%;
	        flex: 0 0 55%;
	min-width: 0;
}

.serviceSilverSafetyFacility img {
	display: block;
	width: 100%;
	height: auto;
}


/* ----- */
/* ご利用いただけるお品物 */
/* ----- */

.goodsGrid {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 41px 1fr 41px 1fr;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 4.58%;
	padding-top: 3%;
	padding-bottom: 13%;
}

.goodsItem {
	position: relative;
	margin: 0;
}

.goodsImgWrap {
	width: 100%;
	border-radius: 50%;
	overflow: hidden;
}

.goodsImgWrap img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	display: block;
}

.goodsCaption {
	position: absolute;
	top: -10%;
	left: -7%;
	width: 105px;
	max-width: 39.2%;
	/* height: 140px; */
	aspect-ratio: 1 / 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	border-radius: 50%;
	font-size: clamp(1.1rem, 1.5vw, 1.8rem);
	letter-spacing: -0.05em;
	font-weight: bold;
	color: #016B3A;
	text-align: center;
	background: transparent radial-gradient(closest-side at 50% 50%, #F0F8F5 0%, #D0EDDB 100%) 0% 0% no-repeat padding-box;
	padding: 0.3em;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.goodsCaption span {
	display: block;
	font-size: clamp(0.8rem, 0.69vw, 1.1rem);
}

.goodsNote {
	-ms-grid-column: 2;
	-ms-grid-column-span: 2;
	-ms-grid-row: 3;
	grid-column: 2 / span 2;
	grid-row: 3;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	height: 100%;
	aspect-ratio: 23 / 15;
	background: url("img/common/goods_comment_bg.png") no-repeat top right/ 100% auto;
}

.goodsNoteInner {
	position: relative;
	z-index: 1;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-weight: bold;
	text-align: center;
}

.goodsNoteLead {
	font-size: clamp(1.8rem, 1.785vw, 2.3rem);
	letter-spacing: 0.1em;
	margin-bottom: 0.3em;
}

.goodsNoteMain {
	display: inline-block;
	font-size: clamp(1.8rem, 2.19vw, 2.8rem);
	letter-spacing: 0.04em;
	color: #FF6C00;
	background: #fff;
	padding: 0.3em 0.8em 0.4em;
	border-radius: 15px;
	line-height: 1.13;
	margin-bottom: 0.3em;
}

.goodsNoteSub {
	font-size: clamp(1.6rem, 1.3875vw, 1.8rem);
	letter-spacing: 0.1em;
	margin-bottom: 0.3em;
}


.goodsNoteCharacter {
	position: absolute;
	left: -10%;
	bottom: -7%;
	z-index: 2;
	width: 178.5px;
	max-width: 30.7%;
	line-height: 0;
}

.goodsNoteCharacter img {
	display: block;
	width: 100%;
	height: auto;
}

/* ----- */
/* ご利用いただきたいシーン */
/* ----- */

.sceneList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 97.5px;
	padding-top: 30px;
}

.sceneItem {
	position: relative;
}

.sceneImgWrap {
	position: absolute;
	top: -30px;
	width: 42.85%;

}

.sceneImgWrap img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.sceneItem:nth-child(odd) .sceneImgWrap {
	left: 0;
}

.sceneItem:nth-child(even) .sceneImgWrap {
	right: 0;
}

.sceneContent {
	width: 71.42%;
	padding: clamp(15px, 2.4075vw, 33.75px);
	background: #F0F8F5;
	border: 0.75px solid #2E9D61;
	border-radius: 7.5px;
}

.sceneItem:nth-child(odd) .sceneContent {
	margin-left: auto;
	padding-left: 16.5%;
}

.sceneItem:nth-child(even) .sceneContent {
	margin-right: auto;
	padding-right: 16.5%;
}

.sceneItemTit {
	font-size: clamp(1.5rem, 1.5975vw, 2.4rem);
	letter-spacing: 0.05em;
	font-weight: bold;
	color: #016B3A;
	margin-bottom: 0.5em;
}

.sceneItemText {
	/* font-size: clamp(0.9rem, 0.9225vw, 1.3rem); */
	font-size: 1.3rem;
	/* letter-spacing: 0.05em; */
	margin-bottom: 1em;
	font-weight: 500;
	line-height: 1.6;
}

.sceneCheckList {
	background: #fff;
	border-radius: 7.5px;
	padding: 18.75px 9.3%;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (minmax(33%, 1fr))[auto-fit];
	grid-template-columns: repeat(auto-fit, minmax(33%, 1fr));
	grid-gap: 11.25px;
	position: relative;
}

.sceneItem:nth-of-type(2) .sceneCheckList{
	padding: 18.75px 7%;
}

.sceneCheckList li {
	position: relative;
	padding-left: 1em;
	font-size: clamp(1.2rem, 1.2675vw, 1.8rem);
	letter-spacing: 0.1em;
	line-height: 1.3;
	font-weight: bold;
}

.sceneCheckList li.isFull {
	grid-column: 1 / -1;
}

.sceneCheckList li::before {
	content: "●";
	position: absolute;
	color: #2E9D61;
	font-size: clamp(0.8rem, 0.81vw, 1.1rem);
	top: 0.5em;
	left: 0;
}

.sceneCheckList::after {
	content: "etc..";
	position: absolute;
	right: 12%;
	bottom: 18.75px;
	font-size: clamp(1.0em, 1.035vw, 1.5rem);
	font-weight: bold;
	letter-spacing: 0.1em;
}

/* ----- */
/* 比較表 */
/* ----- */
.compareScroll {
	overflow-x: visible;
}

.compareTable {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 15px;
	width: 100%;
}

.compareColumn {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
	border-radius: 7.5px;
	overflow: hidden;
}

.compareColumnOthers {
	background: #F8F8F8;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 calc((100% - 30px - 41.33%) / 2);
	        flex: 0 0 calc((100% - 30px - 41.33%) / 2);
	min-width: 165px;
}

.compareColumnSelf {
	border: 3px solid #2E9D61;
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.161);
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 41.33%;
	        flex: 0 0 41.33%;
}

.compareHead,
.compareRowLabel {
	background: #595959;
	color: #ffffff;
	font-weight: bold;
}

.compareColumnSelf .compareHead,
.compareColumnSelf .compareRowLabel {
	background: #2E9D61;
}


.compareHead {
	padding: 9px 7.5px 12px;
	text-align: center;
	letter-spacing: 0.06em;
}
.compareColumnSelf .compareHead {
	padding: 3.75px 7.5px 12px;
}
.compareColumnOthers .compareHead {
	aspect-ratio: 331 / 97;
    align-items: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.compareHeadLabel {
	font-size: clamp(1.3rem, 1.3875vw, 1.8rem);
	font-weight: bold;
}

.compareColumnSelf .compareHeadLabel {
	font-size: clamp(1.6rem, 1.845vw, 2.4rem);
}

.compareHeadSub {
	display: inline-block;
	padding: 0.25em 0.6em;
	border: 0.75px solid #fff;
	margin-top: 0.2em;
	font-size: clamp(0.8rem, 0.8025vw, 1.0rem);
}

.compareColumnSelf .compareHeadSub {
	background: #fff;
	font-size: clamp(1.0rem, 1.095vw, 1.4rem);
	color: #016B3A;
}

.comparePhoto {
	line-height: 0;
}

.comparePhoto img {
	display: block;
	width: 100%;
	height: auto;
}

.compareRowLabel {
	padding: 0.5em 1em;
	font-size: clamp(1.2rem, 1.3875vw, 1.8rem);
	letter-spacing: 0.06em;
	font-weight: bold;
	text-align: center;
}

.compareColumnSelf .compareRowLabel {
	font-size: clamp(1.3rem, 1.5vw, 2.0rem);
}

.compareRowBody {
	padding: 1em 0.5em;
	font-size: clamp(1.0rem, 1.2675vw, 1.6rem);
	font-weight: 500;
}

.compareRowBody:not(.comparePrice) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
}

.comparePrice {
	text-align: center;
	letter-spacing: 0.02em;
}

.comparePriceMain {
	font-size: clamp(0.9rem, 0.9225vw, 1.2rem);
}

.compareColumnSelf .comparePriceMain {
	font-size: clamp(1.0rem, 1.035vw, 1.3rem);
	line-height: 1.1;
}

.comparePriceMain .large {
	font-size: clamp(1.3rem, 1.6125vw, 2.1rem);
	font-weight: bold;
	letter-spacing: 0.06em;
}

.compareColumnSelf .comparePriceMain .large {
	font-size: clamp(1.9rem, 2.0775vw, 2.7rem);
}

.comparePriceNote {
	font-size: clamp(0.8rem, 0.9225vw, 1.2rem);
	padding-top: 0.5em;
}

.compareRowIcon {
	font-size: clamp(2.1rem, 2.3025vw, 3.0rem);
	line-height: 1;
}

.compareColumnSelf .compareRowIcon {
	font-size: clamp(1.5rem, 3vw, 3.9rem);
}

.compareRowIconCircle {
	color: #FF7676;
	font-weight: bold;
}

.compareRowIconTriangle {
	color: #F5C34D;
	font-weight: bold;
}

.compareRowIconCross {
	color: #888888;
	font-weight: 300;
}

 .compareRowText {
	font-size: clamp(1.0rem, 1.155vw, 1.5rem);
	letter-spacing: 0.1em;
}

.compareColumnSelf .compareRowText {
	font-size: clamp(1.2rem, 1.3875vw, 1.8rem);
}

.compareRowText .large {
	font-size: clamp(1.3rem, 1.6125vw, 2.1rem);
	font-weight: bold;
}

.compareColumnSelf .compareRowText .large {
	font-size: clamp(1.875rem, 2.0775vw, 2.7rem);
}

/* ----- */
/* ご利用の事例 */
/* ----- */

#case {
	padding-top: 105px;
	padding-bottom: 112.5px;
	background: -webkit-gradient(linear, left top, left bottom, from(#E5F6EE), to(#CDEBDD));
	background: linear-gradient(180deg, #E5F6EE 0%, #CDEBDD 100%);
}

.caseNote {
	text-align: right;
	font-size: clamp(1.0rem, 1.155vw, 1.5rem);
	letter-spacing: 0.06em;
	margin-bottom: 0.5em;
}

.caseList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 60px;
	max-width: 100%;
	margin-bottom: 75px;
}


.caseItemHeader {
	background: #2E9D61;
	border-radius: 7.5px 7.5px 0 0;
	padding: 6.75px 24px 22.5px;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
}

.caseItemBody {
	background: #ffffff;
	border-radius: 0 0 7.5px 7.5px;
	padding: 3.75%;

}

.caseItemCase {
	font-size: clamp(2.0rem, 2.8875vw, 3.75rem);
	letter-spacing: 0.06em;
}

.caseItemCase .number {
	font-size: clamp(1.6rem, 1.845vw, 2.4rem);
}

.caseItemCase .large {
	font-size: clamp(2.0rem, 1.905vw, 2.5rem);
	letter-spacing: 0.07em;
}

.caseItemTag {
	display: inline-block;
	padding: 0.25em 1.8em;
	border-radius: 749.25px;
	background: #ffffff;
	color: #016B3A;
	font-size: clamp(1.2rem, 1.6125vw, 2.1rem);
	letter-spacing: 0.07em;
}

.caseItemBody {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 2.4%;
}

.caseItemPhoto {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 48%;
	        flex: 0 0 48%;
	background: #E6E6E6;
	height: 100%;
}

.caseItemPhoto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.caseItemContent {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 49.6%;
	        flex: 0 0 49.6%;
	min-width: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 12px;
}

.caseTable {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	background: #ffffff;
}

.caseRow {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	border-bottom: 1px solid #B4B4B4;
	font-size: clamp(1.2rem, 1.155vw, 1.5rem);
	letter-spacing: 0.1em;
}

.caseRow:last-child {
	border-bottom: none;
}

.caseRowLabel {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 32%;
	        flex: 0 0 32%;
	max-width: 32%;
	min-width: 6.6em;
	font-weight: bold;
	padding: 0.9em 1.0em;
	color: #2E9D61;
}

.caseRowData {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	padding: 0.9em 1.8em;
}

.caseRowDataList {
	font-size: inherit;
}

.caseRowDataLine {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 0.3em;
}

.caseRowDataLine:last-child {
	margin-bottom: 0;
}

.caseRowDataName {
	min-width: 4.6em;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 30%;
	        flex: 0 0 30%;
}

.caseRowDataNum {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	min-width: 4em;
	text-align: right;
}

.casePrice {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	text-align: center;
	border-radius: 6.75px;
	background: #2E9D61;
	padding: 7.5px 9px 9px;
}

.casePriceLabel {
	display: inline-block;
	padding: 0.15em 1em;
	color: #fff;
	border: 1.5px solid #fff;
	font-size: clamp(1.2rem, 1.155vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-right: 1em;
}

.casePriceText {
	display: inline-block;
	font-size: clamp(1.2rem, 1.155vw, 1.5rem);
	font-weight: 700;
	color: #FFF94B;
	letter-spacing: 0.04em;
}

.casePriceRange {
	font-size: clamp(1.5rem, 1.6125vw, 2.1rem);
}

/* お見積もり・ご相談（事例セクション下） */
.caseComment {
	position: relative;
	width: clamp(350px, 51.09vw, 562px);
	max-width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	padding: 37.5px 15px 37.5px 10%;
	background: url("img/common/case_comment_bg.png") no-repeat center center / contain;
	margin: 0 auto;
}

.caseCommentInner {
	height: 100%;
	width: fit-content;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.caseCommentText {
	font-size: clamp(1.4rem, 1.909vw, 2.1rem);
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 0.6em;
}

.caseCommentText .large {
	font-size: clamp(1.8rem, 2.1vw, 2.4rem);
}
	
.caseCommentCharacter {
	position: absolute;
	right: -25%;
	bottom: 10%;
	z-index: 0;
	width: clamp(120px, 17.94vw, 233px);
	line-height: 0;
	z-index: 1;
}

.caseCommentCharacter img {
	display: block;
	width: 100%;
	height: auto;
}

/* ----- */
/* オプションと関連サービス */
/* ----- */
.optionList {
	display: grid;
	grid-template-columns: repeat(4, 21.8%);
	column-gap: 4.2%;
	row-gap: 49.5px;
	align-items: flex-start;
}

.optionItem {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
	gap: 12px;
}

.optionImgWrap {
	position: relative;
	width: 100%;
	height: 100%;
}

.optionImgWrap img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	aspect-ratio: 1 / 1;
}

.optionCaption {
	font-size: clamp(1.0rem, 1.155vw, 1.5rem);
	letter-spacing: 0.08em;
	font-weight: bold;
	color: #016B3A;
}


/* ----- */
/* FAQ 共通 */
/* ----- */
.faqList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 18.75px;
}

.faqItem {
	background: #F0F8F5;
	border-radius: 7.5px;
	padding: 15px 22.5px;
}

.faqRow {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 15px;
	letter-spacing: 0.1em;
}

.faqRow + .faqRow {
	margin-top: 9px;
	padding-top: 9px;
	border-top: 1px solid #DDDDDD;
}

.faqLabel {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 2em;
	        flex: 0 0 2em;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	background: #ffffff;
	font-size: clamp(1.6rem, 1.845vw, 2.4rem);
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
}

.faqLabelQ {
	color: #2E9D61;
}

.faqLabelA {
	color: #D51500;
}

.faqQuestion {
	font-size: clamp(1.2rem, 1.3875vw, 1.8rem);
	font-weight: 700;
	color: #016B3A;
}

.faqAnswer {
	font-size: clamp(1.2rem, 1.035vw, 1.3rem);
	font-weight: bold;
}


/* ----- */
/* お知らせ（共通） */
/* ----- */
.newsList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 16.5px;
}

.newsItem {
	border-radius: 7.5px;
	border: 1px solid #707070;
	background: #ffffff;
}

.newsItemHeader {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 12px;
	font-weight: bold;
	padding: 18px 24px;
}

.newsItemMeta {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	min-width: 0;
}

.newsItemDate {
	display: inline-block;
	font-size: clamp(1.0rem, 0.92vw, 1.2rem);
	letter-spacing: 0.02em;
	color: #686868;
}

.newsItemLabel {
	display: inline-block;
	padding: 0.2em 1.4em;
	background: #2E9D61;
	color: #ffffff;
	font-size: clamp(1.0rem, 0.92vw, 1.2rem);
	letter-spacing: 0.06em;
	margin-right: 1.6em;
}

.newsItemTitle {
	margin-top: 0.3em;
	font-size: clamp(1.2rem, 1.30vw, 1.7rem);
	color: #016B3A;
}

.newsItemToggle {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	width: 31.5px;
	height: 31.5px;
	border-radius: 50%;
	border: none;
	background: #2E9D61;
	position: relative;
	cursor: pointer;
	padding: 0;
}

.newsItemToggleIcon {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12.75px;
	height: 12.75px;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.newsItemToggleIcon::before,
.newsItemToggleIcon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: #ffffff;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.newsItemToggleIcon::before {
	width: 13px;
	height: 1.5px;
}

.newsItemToggleIcon::after {
	width: 1.5px;
	height: 13px;
}

.newsItemToggleText {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.newsItemBody {
	padding-top: 12px;
	border-top: 1px solid #707070;
	display: none;
	background: #F7FAF9;
	padding: 18px 24px;
	border-radius: 0 0 7.5px 7.5px;
}

.newsItemText {
	font-size: clamp(1.1rem, 1.035vw, 1.3rem);
	font-weight: 500;
	letter-spacing: 0.1em;
}

.newsItem.is-open .newsItemBody {
	display: block;
}

.newsItem.is-open .newsItemToggleIcon::after {
	height: 0;
}

/* -------------------------------------------------- */
/* PC only (1025px〜) */
/* -------------------------------------------------- */
@media screen and (min-width: 1025px) {
	.gNavList {
		padding: 0 clamp(8.5px, 1.8615vw, 46px);
		gap: clamp(8.5px, 3.077vw, 76px);
	}

	.gNavList li a {
		position: relative;
	}

	/* 下線（左から伸びる） */
	.gNavList li a::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0.12em;
		height: 2px;
		background: #2E9D61;
		-webkit-transform: scaleX(0);
		        transform: scaleX(0);
		-webkit-transform-origin: left center;
		        transform-origin: left center;
		-webkit-transition: -webkit-transform 0.3s ease;
		transition: -webkit-transform 0.3s ease;
		transition: transform 0.3s ease;
		transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	}

	.gNavList li a:hover::before,
	.gNavList li a:focus-visible::before,
	.gNavList li a:active::before {
		-webkit-transform: scaleX(1);
		        transform: scaleX(1);
	}

	/* PC：サービス ドロップダウン */
	#gNav .gNavItemHasSub {
		position: relative;
		z-index: 22;
		padding-bottom: 12px;
		margin-bottom: -12px;
	}

	#gNav .gNavSubmenu {
		position: absolute;
		left: 50%;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		top: 100%;
		margin-top: 0;
		min-width: 290px;
		padding: 10px 0 8px;
		list-style: none;
		background: #ffffff;
		border-radius: 10px;
		border: 1px solid rgba(1, 107, 58, 0.12);
		-webkit-box-shadow: 0 8px 28px rgba(20, 35, 30, 0.12);
		        box-shadow: 0 8px 28px rgba(20, 35, 30, 0.12);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		-webkit-transition: opacity 0.22s ease, visibility 0.22s ease;
		transition: opacity 0.22s ease, visibility 0.22s ease;
	}

	#gNav .gNavSubmenu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: 14px;
	}

	#gNav .gNavItemHasSub:hover .gNavSubmenu,
	#gNav .gNavItemHasSub:focus-within .gNavSubmenu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	#gNav .gNavSubmenu li {
		text-align: left;
	}

	#gNav .gNavSubmenu a {
		display: block;
		padding: 0.65em 1.25em;
		font-size: clamp(1rem, 1vw, 1.3rem);
		font-weight: bold;
		color: #016B3A;
		text-align: left;
	}

	#gNav .gNavSubmenu a:hover,
	#gNav .gNavSubmenu a:focus-visible {
		background: #F0F8F5;
		color: #016B3A;
	}

	#gNav .gNavSubmenu a::before {
		display: none;
	}

	.serviceSilverGerm .serviceSilverText {
		max-width: 98%;
	}

	/* セクション間余白 */
	#goods {
		margin-bottom: 82px;
	}
	
	#scene {
		margin-bottom: 112px;
	}
	
	.contactBanner.section {
		margin-bottom: 97px;
	}

	#compare {
		margin-bottom: 97px;
	}		

	#case {
		margin-bottom: 105px;
	}

	#option {
		margin-bottom: 90px;
	}

	#faq {
		margin-bottom: 97px;
	}

	.subMvBreadcrumb {
		margin-bottom: 75px;
	}

	.subPageLinks {
		margin-bottom: 112px;
	}

}


/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {

	#footer {
		padding-top: 80px;
	}

	.section {
		margin-bottom: 80px;
	}

	.subMvBreadcrumb {
		margin-bottom: 50px;
	}

	#case {
		padding-top: 80px;
	}
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	br.brTab {
		display: inline;
	}

	.headerInner {
		align-items: stretch;
	}
	.contactArea {
		margin-left: auto;
	}

	.contactMailBox {
		padding: 0.3em;
	}
	/* ハンバーガーボタン表示 */
	#hamburgerMenu {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: 48px;
		height: auto;
		/* margin-right: 8px; */
		border: none;
		/* border-radius: 50%; */
		background: #016B3A;
		cursor: pointer;
		position: relative;
		-webkit-transition: background 0.2s ease, -webkit-transform 0.2s ease;
		transition: background 0.2s ease, -webkit-transform 0.2s ease;
		transition: background 0.2s ease, transform 0.2s ease;
		transition: background 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
	}

	/* #hamburgerMenu:hover {
		background: #2E9D61;
	} */

	#hamburgerMenu:focus {
		outline: none;
	}

	#hamburgerMenu:focus-visible {
		outline: 2px solid #ffffff;
		outline-offset: 2px;
	}

	#hamburgerMenu:active {
		-webkit-transform: scale(0.96);
		        transform: scale(0.96);
	}

	.hamburgerMenuBar,
	.hamburgerMenuBar::before,
	.hamburgerMenuBar::after {
		width: 25px;
		height: 2px;
		background: #ffffff;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	.hamburgerMenuBar {
		position: relative;
		display: block;
	}

	.hamburgerMenuBar::before,
	.hamburgerMenuBar::after {
		content: "";
		position: absolute;
		left: 0;
	}

	.hamburgerMenuBar::before {
		top: -7px;
	}

	.hamburgerMenuBar::after {
		bottom: -7px;
	}

	/* メニューオープン時のXアイコン */
	#header.is-open .hamburgerMenuBar {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
	}

	#header.is-open .hamburgerMenuBar::before {
		top: 0;
		-webkit-transform: rotate(-90deg);
		        transform: rotate(-90deg);
	}

	#header.is-open .hamburgerMenuBar::after {
		bottom: 0;
		opacity: 0;
	}

	/* PC用グローバルナビ（TAB&SPでは非表示） */
	#gNav {
		display: none;
	}

	/* TAB&SP用ナビゲーション（右ドロワー＋オーバーレイ） */
	#gNavSp {
		position: fixed;
		top: var(--header-height);
		left: 0;
		right: 0;
		bottom: 0;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		background: transparent;
		pointer-events: none;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		padding: 0;
		padding-bottom: env(safe-area-inset-bottom, 0);
		z-index: 15;
	}

	/* 背景（固定・ブラーはフェードのみ） */
	#gNavSp::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 0;
		background: rgba(20, 35, 30, 0.42);
		-webkit-backdrop-filter: blur(9px);
		        backdrop-filter: blur(9px);
		opacity: 0;
		-webkit-transition: opacity 0.45s ease;
		transition: opacity 0.45s ease;
		pointer-events: none;
	}

	/* メニューパネルのみスライド */
	#gNavSp > .gNavList {
		position: relative;
		z-index: 1;
		-webkit-transform: translateX(100%);
		        transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
		transition: -webkit-transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
		transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
		transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1),
			-webkit-transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
	}

	#header.is-open #gNavSp {
		pointer-events: auto;
	}

	#header.is-open #gNavSp::before {
		opacity: 1;
	}

	#header.is-open #gNavSp > .gNavList {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

	.gNavList {
		-ms-flex-wrap: nowrap;
		    flex-wrap: nowrap;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		gap: 8.5px;
		width: min(100%, 323px);
		max-width: 100%;
		max-height: 100%;
		margin: 0;
		padding: 23px 17px calc(81px + env(safe-area-inset-bottom, 0px));
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: #f7fbf9;
		-webkit-box-shadow: -13px 0 40px rgba(0, 0, 0, 0.14);
		        box-shadow: -13px 0 40px rgba(0, 0, 0, 0.14);
		border: 1px solid rgba(1, 107, 58, 0.1);
		border-right: none;
	}

	.gNavList li {
		width: 100%;
		text-align: left;
	}

	.gNavList li a {
		position: relative;
		display: block;
		width: 100%;
		padding: 1em 2.4em 1em 1.35em;
		border-radius: 10.2px;
		background: #ffffff;
		border: 0.85px solid rgba(1, 107, 58, 0.12);
		color: #016B3A;
		font-size: 1.4rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		-webkit-box-shadow: 0 0.85px 0 rgba(255, 255, 255, 0.9) inset;
		        box-shadow: 0 0.85px 0 rgba(255, 255, 255, 0.9) inset;
		-webkit-transition: background 0.22s ease, border-color 0.22s ease,
			-webkit-box-shadow 0.22s ease, -webkit-transform 0.18s ease;
		transition: background 0.22s ease, border-color 0.22s ease,
			-webkit-box-shadow 0.22s ease, -webkit-transform 0.18s ease;
		transition: background 0.22s ease, border-color 0.22s ease,
			box-shadow 0.22s ease, transform 0.18s ease;
		transition: background 0.22s ease, border-color 0.22s ease,
			box-shadow 0.22s ease, transform 0.18s ease,
			-webkit-box-shadow 0.22s ease, -webkit-transform 0.18s ease;
	}

	.gNavList li a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 11px;
		width: 6px;
		height: 6px;
		margin-top: -3px;
		border-top: 2px solid #016B3A;
		border-right: 2px solid #016B3A;
		opacity: 0.45;
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
	}

	.gNavList li a:hover {
		background: rgba(1, 107, 58, 0.06);
		border-color: rgba(1, 107, 58, 0.22);
	}

	.gNavList li a:active {
		-webkit-transform: scale(0.985);
		        transform: scale(0.985);
	}

	.gNavList li a:focus {
		outline: none;
	}

	.gNavList li a:focus-visible {
		outline: 2px solid #016B3A;
		outline-offset: 2px;
	}

	@media (prefers-reduced-motion: reduce) {
		#gNavSp::before,
		#gNavSp > .gNavList {
			-webkit-transition: none;
			transition: none;
		}
	}

	/* メニューオープン時は背面スクロールを止める */
	body.is-nav-open {
		overflow: hidden;
	}

	/* footer */
	.footerInner {
		padding: 18px 4%;
	}
	
	.sectionTitGlow {
		margin-top: -1.6em;
	}

	/* コンタクトバナー */
	.contactBannerLabel {
		font-size: 1.6rem;
	}

	.contactBannerCatch::before, .contactBannerCatch::after {
		width: 2px;
	}

	.contactBannerPhotoSpeech {
		width: 90%;
		bottom: 10%;
	}


	/* 下層共通 */
	.subMv {
		height: auto;
		aspect-ratio: 192 / 50;
	}

	.subMvTitleBox {
		border-top-right-radius: 22.5px;
	}

	.subMvTitle {
		padding: 0.8em 3.25em;
	}


	/* サービス紹介 */
	.serviceGrid {
		flex-direction: column;
	}

	.servicePhoto,
	.serviceMain {
		width: 100%;
	}

	.serviceMain {
		min-height: 0;
	}

	.serviceSilverSafety {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 18px;
	}

	.serviceSilverGerm + .serviceSilverSafety {
		margin-top: 37px;
	}

	.serviceSilverSafetyMain {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		justify-content: space-between;
	}

	.serviceSilverSafetyMain .serviceSilverBody {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	/* ご利用いただきたいシーン */
	.sceneList {
		gap: 30px;
		padding-top: 0;
	}

	.sceneItem {
		margin-top: -22.5px;
	}

	.sceneImgWrap,
	.sceneContent {
		width: 95%;
		-ms-flex: 0 0 auto;
		    flex: 0 0 auto;
	}

	.sceneImgWrap {
		position: relative;
		top: 22px;
	}

	.sceneContent {
		padding-top: 60px;
	}

	.sceneItem:nth-child(even) .sceneContent,
	.sceneItem:nth-child(odd) .sceneContent {
		padding-right: 5%;
		padding-left: 5%;
	}

	.sceneItem:nth-child(even) .sceneImgWrap {
		margin-left: auto;
	}

	.sceneItemTit {
		font-size: 1.8rem;
	}

	.sceneItemText {
		font-size: 1.2rem;
	}

	.sceneCheckList li {
		font-size: 1.3rem;
	}

	/* 比較表 */
	.compareScroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}


	.compareColumnOthers .compareHead {
		aspect-ratio: 3 / 1;
	}

	/* ご利用の事例 */
	#case {
		padding-bottom: 75px;
	}

	.caseItemBody {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 15px;
	}

	.caseItemPhoto {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		width: 100%;
		min-height: 135px;
	}

	.caseItemContent {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		width: 100%;
	}

	.casePrice {
		margin-top: 0;
	}

	/* オプションと関連サービス */


}


/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.footerInner {
		gap: 3%;
	}

	.footerMap {
		-webkit-box-flex: 0;
			-ms-flex: 0 0 45%;
				flex: 0 0 45%;
	}

	/* サービス紹介（銀イオン・安全性）：本文エリア */
	.serviceSilverSafetyMain {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		    flex-direction: row;
		-webkit-box-align: start;
		-ms-flex-align: start;
		    align-items: flex-start;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		    justify-content: flex-start;
		gap: 15px;
	}

	.serviceSilverSafetyMain .serviceSilverBody {
		-webkit-box-flex: 0;
		-ms-flex: 0 1 auto;
		    flex: 0 1 auto;
		min-width: 0;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		max-width: 100%;
	}

	.serviceSilverSafetyMain .serviceSilverBody:only-child {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
		    flex: 1 1 auto;
		width: 100%;
	}

}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	br.brSp {
		display: inline;
	}

	br.brPc {
		display: none;
	}

	.headerLogoArea {
		padding: 8.5px 4%;
	}

	.headerLogo img {
		max-height: 34px;
	}

	#hamburgerMenu {
		width: 51px;
	}

	/* SP: ナビパネルを画面幅いっぱいに（タブは右ドロワーのまま） */
	#gNavSp {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
	}

	#gNavSp > .gNavList {
		width: 100%;
		max-width: none;
		border: 0.85px solid rgba(1, 107, 58, 0.1);
		-webkit-box-shadow: 0 10.2px 30.6px rgba(0, 0, 0, 0.12);
		        box-shadow: 0 10.2px 30.6px rgba(0, 0, 0, 0.12);
	}

	/* ヘッダー内コンタクトはスマホで非表示（下部固定に切り替え） */
	#header .headerInner .contactArea {
		display: none;
	}

	/* 下部固定コンタクトエリア（スマホのみ） */
	.spContactFixed {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 25;
	}

	.contactArea {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		background: #2E9D61;
	}

	.contactTelBox {
		width: 100%;
		-webkit-transition: filter 0.3s;
		transition: filter 0.3s;
	}

	.contactTelBox:active {
		-webkit-filter: brightness(1.1);
		filter: brightness(1.1);
	}

	.contactTelText {
		line-height: 1;
	}

	.contactTelTime {
		font-size: 1.2rem;
		justify-content: start;
	}

	.contactTelTime::before, .contactTelTime::after {
		display: none;
	}

	.contactMail {
		flex-direction: row;
		gap: 0.5em;
	}

	 .contactMail::before {
		width: 2.9em;
		height: 3.8em;
	 }


	/* コンタクトバナー */
	.contactBannerInner {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}

	.contactBannerPhoto,
	.contactBannerContent {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
	}

	.contactBannerContentInner {
		padding: 20px 4%;
	}

	.contactBannerBtn {
		padding: 0.8em;
	}

	.contactBannerTel {
		-webkit-transition: filter 0.3s;
		transition: filter 0.3s;
	}

	.contactBannerTel a:active {
		-webkit-filter: brightness(1.1);
		filter: brightness(1.1);
	}

	/* ご利用いただけるお品物 */
	.goodsGrid {
		-ms-grid-columns: 1fr 4.58% 1fr;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 18px 4.58%;
		padding-left: 3%;
		padding-right: 3%;
		padding-bottom: 6%;
	}

	.goodsNote {
		-ms-grid-column: 1;
		-ms-grid-column-span: 3;
		grid-column: 1 / -1;
		grid-row: auto;
		margin: 0 auto;
		transform: translateY(-18px);
	}


	/* footer */
	#footer {
		padding-top: 68px;
		padding-bottom: 51px;
	}
	
	.footerInner {
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	}

	.footerContent {
		width: 100%;
		padding-bottom: 21.25px;
	}

	.footerMap {
		aspect-ratio: 3 / 2;
		-webkit-box-flex: 0;
			-ms-flex: 0 0 100%;
				flex: 0 0 100%;
	}

	/* ボタン */
	.btnPrimary {
		display: block;
		width: 100%;
	}

	.btnTel {
		width: 100%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	
	/* セクション共通 */
	.subMvBreadcrumb {
		margin-bottom: 40px;
	}

	#case {
		padding: 50px 0;
	}

	.section {
		margin-bottom: 60px;
	}

	.sectionLead {
		font-size: 1.3rem;
		max-width: 92%;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}

	.sectionTitle {
		font-size: 2.0rem;
	}

	.sectionTitle::after {
		background-image: url("img/common/common_ttl_bg_sp.png");
		right: -1.5em;
		width: 2em;
		height: 2em;
	}

	/* 下部固定コンタクトのはみ出し防止 */
	.spContactFixed .contactArea {
		overflow: hidden;
	}

	/* .spContactFixed .contactTelBox,
	.spContactFixed .contactMailBox {
		min-width: 0;
	} */

	/* 下層MV */
	.subMv {
		height: auto;
		aspect-ratio: 8 / 5;
	}

	.subMvTitleBox {
		border-top-right-radius: 11.25px;
	}

	.subMvTitle {
		padding: 1em 2em;
		width: auto;
	}

	.subPageLinksList {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 9px;
	}

	.subPageLink {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
		max-width: 100%;
	}

	.subPageLinkOption .subPageLinkImg {
		padding: 0 1em;
	}

	/* サービス紹介 */
	.serviceSilverBox {
		padding: 15px 4% 18px;
	}

	.serviceSilverGermVisual {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 18px;
	}

	.serviceSilverGermGrid {
		grid-gap: 3.75px 2.25px;
	}

	.serviceSilverCharacter {
		max-width: 100%;
		width: 80%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.serviceSilverCharacterImg {
		width: 55%;
		max-width: 183.75px;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
	}

	.serviceSilverSpeech {
		width: 45%;
		max-width: 172.5px;
	}

	.serviceSilverSafetyMain {
		-ms-flex-direction: column;
		    flex-direction: column;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		width: 100%;
		gap: 15px;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
	}


	/* サービス特徴リスト（縦並び） */
	.serviceList {
		padding: 24px 4% 27px 8%;
	}

	.serviceItem {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
	}

	.serviceItem + .serviceItem {
		margin-top: 12px;
	}

	.serviceItemHead {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		padding-right: 0;
		padding-bottom: 12px;
		margin-bottom: 12px;
		border-bottom: 0.75px solid #707070;
	}

	.serviceItemHead::after {
		display: none;
	}

	.serviceItemTitle {
		font-size: 1.3rem;
	}

	.serviceItemTitleHighlight {
		font-size: 1.8rem;
	}

	.serviceItemText {
		-webkit-box-flex: 0;
		    -ms-flex: 0 1 auto;
		        flex: 0 1 auto;
		width: 100%;
		max-width: 100%;
		padding-left: 0;
	}

	.serviceItemText br {
		display: none;
	}

	/* ご利用いただけるお品物 */
	.goodsNoteCharacter {
		left: auto;
		right: 0;
		bottom: -20%;
	}

	/* ご利用いただきたいシーン */
	.sceneList {
		gap: 30px;
	}

	.sceneContent {
		padding-top: 30px;
	}

	.sceneCheckList {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		padding: 11.25px 6% 30px;
	}

	.sceneCheckList::after {
		right: auto;
		right: 6%;
		bottom: 11.25px;
	}

	/* 比較表 */
	.compareTable {
		min-width: 510px;
	}

	/* ご利用の事例 */
	.caseItemHeader {
		padding: 7.5px 12px 12px;
	}
	.caseRowLabel {
		padding: 0.5em 0;
	}
	.caseRowData {
		padding: 0.5em 0 0.5em 1em;
	}

	.caseList {
		margin-bottom: 30px;
		gap: 30px;
	}

	.caseComment {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		-ms-grid-rows: 1fr;
		grid-template-rows: 1fr;
		margin-bottom: 17%;
	}

	.caseCommentInner {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column-align: center;
		justify-self: center;
	}

	.caseCommentCharacter {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		top: auto;
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-row-align: end;
		align-self: end;
		-ms-grid-column-align: end;
		justify-self: end;
		margin-right: 0;
		margin-bottom: -27%;
	}

	/* オプションと関連サービス */
	.optionList {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 4.2%;
		gap: 18px 4.2%;
		align-items: flex-start;
	}

	.optionItem {
		max-width: none;
		gap: 3.75px;
	}	
	
	.optionCaption {
		font-size: 1.2rem;
	}

	/* FAQ */
	.faqItem {
		padding: 12px 12px 13.5px;
	}

	.faqLabel {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 25.5px;
		        flex: 0 0 25.5px;
		width: 25.5px;
		height: 25.5px;
	}

	/* news */
	.newsItemHeader {
		padding: 1em;
	}

	.newsItemBody {
		padding: 1em;
	}

	.newsItemToggle {
		width: 24px;
		height: 24px;
	}
}

@media screen and (max-width: 374px) {
	html {
		font-size: 2.00025vw;
	}
}
