@charset "UTF-8";
/* =========================================================
   有限会社 誠 テーマ  theme.css
   PC 1440px / SP 375px 基準
   ========================================================= */

/* ---------- 変数 ---------- */
:root {
	--cyan:        #00b5be;
	--cyan-d:      #08a3ae;
	--green:       #0a8c5f;
	--teal:        #0288a2;
	--blue:        #1c9fc4;
	--grad:        linear-gradient(105deg, #00916e 0%, #0288a2 100%);
	--grad-cyan:   linear-gradient(105deg, #10b9c0 0%, #16c1c9 100%);
	--grad-main:   linear-gradient(90deg, #00BF93 0%, #00B1DB 100%);
	--ink:         #223734;
	--heading:     #1f3d3a;
	--text:        #3a4a48;
	--muted:       #6b7a78;
	--line:        #d9e4e2;
	--mint:        #e9f7f2;
	--mint-2:      #dbf1ea;
	--cyan-pale:   #e4f5f7;
	--green-pale:  #e5f3ea;
	--white:       #fff;
	--radius:      10px;
	--container:   1200px;
	--header-h:    100px;
	--contact-w:   156px;
	--contact-h:   150px;
	--adminbar-h:  0px;
	--font-jp:     "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--font-en:     "Montserrat", var(--font-jp);
	--shadow:      0 6px 24px rgba(20, 60, 55, 0.08);
}

/* ---------- リセット ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
	margin: 0;
	font-family: var(--font-jp);
	color: var(--text);
	line-height: 1.9;
	font-size: 16px;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}
img { max-width: 100%; height: auto; vertical-align: bottom; }
a { color: inherit; text-decoration: none; transition: opacity .2s, background-color .2s, color .2s; }
a:hover { opacity: .82; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p { margin: 0; }
button { font-family: inherit; cursor: pointer; }

/* ---------- レイアウト ---------- */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: 24px; }
.container.narrow { max-width: 960px; }
.section { padding-block: clamp(48px, 7vw, 96px); }
.site-main { display: block; }

/* ---------- 共通見出し ---------- */
.sec-heading {
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 700;
	color: var(--heading);
	text-align: center;
	letter-spacing: .04em;
	line-height: 1.4;
}
.sec-heading + .sec-lead { margin-top: 16px; }
.sec-lead { text-align: center; color: var(--muted); }
.sec-heading--left { text-align: left; }
.sec-heading--light { color: #fff; }
.sec-lead--light { color: rgba(255,255,255,.92); }

.en-title {
	font-family: var(--font-en);
	font-weight: 600;
	color: var(--cyan);
	letter-spacing: .08em;
}

/* ---------- ボタン ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-width: 220px; padding: 15px 34px;
	color: #fff; font-weight: 700; letter-spacing: .04em;
	border-radius: 6px; text-align: center;
	box-shadow: 0 6px 16px rgba(2, 130, 150, .18);
}
.btn--cyan  { background: var(--grad-cyan); }
.btn--green { background: var(--green); }
.btn--grad  { background: linear-gradient(100deg, #06b06c 0%, #12b1bd 100%); }
.btn--teal  { background: var(--teal); }
.btn::after { content: "→"; font-weight: 400; }
.btn.no-arrow::after { content: none; }

/* 共通：グラデーションライン（セクション区切り） */
.grad-line {
	height: 3px;
	background: var(--grad-main);
}

/* =========================================================
   ヘッダー（1440px基準・FV重ね）
   ========================================================= */
body.admin-bar { --adminbar-h: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar { --adminbar-h: 46px; }
}

.site-header {
	position: fixed;
	top: var(--adminbar-h);
	left: 0; right: 0;
	z-index: 100;
	background: transparent;
	backdrop-filter: none;
	box-shadow: none;
}

.site-header__inner {
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: var(--header-h);
	width: 100%;
	margin-inline: 0;
	padding-left: 31px;
	padding-right: 0;
}

/* 白の半透明帯 */
.site-header__inner::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: var(--contact-w);
	height: var(--header-h);
	background: rgba(255, 255, 255, .55);
	z-index: 0;
}

/* ロゴ：左31px / 上19px */
.site-header__logo {
	position: relative; z-index: 1;
	display: block;
	padding-top: 19px;
}
.site-header__logo img { width: 188px; height: 64px; }

/* グローバルナビ */
.gnav {
	position: relative; z-index: 1;
	display: flex; align-items: center;
	margin-left: auto;
	margin-right: calc(var(--contact-w) + 13px);
	height: var(--header-h);
}
.gnav__list { display: flex; align-items: center; gap: 22px; }
.gnav__list > li > a {
	font-size: 12px;
	font-weight: 500;
	color: var(--ink);
	white-space: nowrap;
	padding: 8px 2px;
}
.gnav__list > li > a:hover { color: var(--cyan); opacity: 1; }

/* フレコンバッグ注文フォーム：175×35 */
.gnav__pill { position: static; }
.gnav__pill > a {
	position: static;
	display: flex; align-items: center; justify-content: center;
	width: 175px; height: 35px;
	padding: 0;
	background: var(--cyan);
	color: #fff !important;
	font-size: 12px;
	border-radius: 4px;
}
.gnav__pill > a:hover { background: var(--cyan-d); opacity: 1; }

/* CONTACT：156×150 */
.site-header__contact {
	position: absolute;
	top: 0; right: 0;
	z-index: 2;
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	width: var(--contact-w); height: var(--contact-h);
	margin-left: 0;
	background: linear-gradient(160deg, #00BF93 0%, #00B1DB 100%);
	color: #fff; text-align: center;
}
.site-header__contact-en {
	font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px; font-weight: 400; letter-spacing: .06em;
}
.site-header__contact:hover { opacity: .92; }

/* ハンバーガー */
.nav-toggle { display: none; }

/* ドロワー（モバイル） */
.drawer {
	position: fixed;
	top: calc(var(--header-h) + var(--adminbar-h));
	right: 0; z-index: 99;
	width: min(78vw, 320px);
	height: calc(100dvh - var(--header-h) - var(--adminbar-h));
	background: #fff; box-shadow: -6px 0 24px rgba(0,0,0,.12);
	padding: 24px; overflow-y: auto;
	transform: translateX(100%); transition: transform .3s ease;
}
.drawer[hidden] { display: block; }
.drawer.is-open { transform: translateX(0); }
.drawer__nav ul { display: flex; flex-direction: column; }
.drawer__nav li { border-bottom: 1px solid var(--line); }
.drawer__nav a { display: block; padding: 15px 4px; font-weight: 500; color: var(--ink); }
.drawer__contact {
	display: block; margin-top: 24px; padding: 15px;
	background: var(--grad-cyan); color: #fff; text-align: center;
	border-radius: 6px; font-weight: 700; letter-spacing: .06em;
}
.drawer-overlay {
	position: fixed; inset: 0; z-index: 98;
	background: rgba(0,0,0,.4); border: 0;
}
.drawer-overlay[hidden] { display: none; }

/* FVを持たない下層ページのみコンテンツを押し下げる */
body:not(.home) .site-main:not(.lower-page) { padding-top: var(--header-h); }

/* =========================================================
   下層ページ共通ヒーロー（旧テンプレート用・順次廃止）
   ========================================================= */
.page-hero {
	position: relative;
	min-height: 340px;
	display: grid; place-items: center;
	background-size: cover; background-position: center;
	text-align: center; color: #fff;
}
.page-hero::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(3,110,120,.30), rgba(10,140,95,.42));
}
.page-hero__inner { position: relative; padding: 40px 24px; }
.page-hero__en {
	font-family: var(--font-en); font-weight: 500;
	font-size: clamp(34px, 5.5vw, 60px); letter-spacing: .06em;
	text-shadow: 0 2px 14px rgba(0,0,0,.2);
}
.page-hero__jp { font-size: clamp(14px, 1.6vw, 18px); letter-spacing: .16em; margin-top: 10px; }

/* =========================================================
   下層ページ共通FV（1440px基準・高さ781px）
   ========================================================= */
.pfv {
	position: relative;
	width: 100%;
	height: 781px;
	background-size: cover;
	background-position: center;
}
.pfv__inner {
	position: relative;
	width: min(100%, 1440px);
	height: 100%;
	margin-inline: auto;
}
.pfv__en {
	position: absolute; top: 355px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #FFF;
	font-family: "Avenir Next", var(--font-jp);
	font-size: 80px; font-weight: 400; line-height: normal;
}
.pfv__jp {
	position: absolute; top: 470px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #FFF; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 400; line-height: normal;
	letter-spacing: 6px; text-indent: 6px;
}

/* =========================================================
   下層ページ共通：コンタクトセクション
   ========================================================= */
.ctas { position: relative; overflow: hidden; }
.ctas__bg {
	position: absolute; inset: 0;
	opacity: .3;
	background: var(--grad-main);
}
.ctas__stage {
	position: relative;
	width: 1440px; height: 347px;
	margin-inline: auto;
}
.ctas__stage .ctab {
	position: absolute;
	top: 41px; left: 50%;
	transform: translateX(-50%);
	width: 1280px; height: 265px;
	background: #F0F2F0;
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
}

/* =========================================================
   フッター
   ========================================================= */
.site-footer {
	position: relative;
	width: 100%;
	height: 240px;
	background: var(--grad-main);
	overflow: hidden;
}
.site-footer::before {
	content: "";
	position: absolute; inset: 0;
	background: var(--grad-main);
	opacity: .3;
}
.site-footer__overlay {
	position: absolute; inset: 0;
	background: #000;
	opacity: .3;
}
.site-footer__stage {
	position: relative;
	width: 1440px; height: 240px;
	margin-inline: auto;
}
.site-footer__logo {
	position: absolute; top: 27px; left: 113px;
	width: 188px; height: 64px;
}
.site-footer__catch {
	position: absolute; top: 97px; left: 113px;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: normal;
	margin: 0;
}
.site-footer__address {
	position: absolute; top: 130px; left: 113px;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: 1.7;
	margin: 0;
}
.site-footer__address a { color: #FFF; text-decoration: none; }
.site-footer__nav-main {
	position: absolute; top: 82px; right: 87px;
	display: flex; gap: 40px;
	list-style: none; margin: 0; padding: 0;
	white-space: nowrap;
}
.site-footer__nav-main a {
	color: #FFF; text-align: right;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 400; line-height: normal;
}
.site-footer__nav-sub {
	position: absolute; top: 114px; right: 87px;
	color: #FFF; text-align: right; white-space: nowrap;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 400; line-height: normal;
	margin: 0;
}
.site-footer__nav-sub a { color: #FFF; }
.site-footer__copy {
	position: absolute; bottom: 32px; right: 87px;
	color: #FFF; text-align: right;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 12px; font-weight: 700; line-height: normal;
	margin: 0;
}

/* =========================================================
   本文（WYSIWYG）
   ========================================================= */
.wysiwyg { line-height: 2; }
.wysiwyg h2 { font-size: 22px; font-weight: 700; color: var(--heading); margin: 2.2em 0 .8em; padding-bottom: .4em; border-bottom: 2px solid var(--mint-2); }
.wysiwyg h3 { font-size: 18px; font-weight: 700; color: var(--heading); margin: 1.8em 0 .6em; }
.wysiwyg p { margin: 0 0 1.2em; }
.wysiwyg a { color: var(--teal); text-decoration: underline; }
.entry__title { font-size: clamp(24px,3vw,32px); font-weight: 700; color: var(--heading); margin-bottom: 1em; }

/* =========================================================
   トップページ：FV
   ========================================================= */
.fv {
	position: relative;
	min-height: 781px;
	height: 781px;
	background-size: cover;
	background-position: center;
	display: block;
	padding-top: 0;
}
.fv__inner {
	position: relative;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding: 0;
	height: 100%;
}
.fv__title {
	position: absolute;
	top: 332px; left: 72px;
	color: #FFF;
	text-shadow: 0 0 15px rgba(0, 0, 0, 0.75);
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 50px; font-weight: 400; line-height: normal;
	letter-spacing: 10px;
	text-align: left;
}

/* =========================================================
   トップページ：お知らせ + 資源セクション
   ========================================================= */
.resource { position: relative; overflow: hidden; }

.resource__bg {
	position: absolute; inset: 0;
	opacity: .3;
	background: var(--grad-main);
}
.resource__stage {
	position: relative;
	width: 1440px; height: 802px;
	margin-inline: auto;
}
.resource__line {
	position: absolute; left: 50%;
	transform: translateX(-50%);
	width: 766px; height: 12px;
	background: #fff;
}
.resource__line--1 { top: 46px; }
.resource__line--2 { top: 80px; }
.resource__line--3 { top: 111px; }
.resource__news {
	position: absolute; top: 34px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #5A5A5A;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 700; line-height: normal;
}
.resource__caution {
	position: absolute; top: 68px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap; text-align: center;
	color: #5A5A5A;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 700; line-height: normal;
}
.resource__caution p + p { margin-top: 7px; }
.resource__caution a { color: #5A5A5A; }
.resource__img {
	position: absolute; top: 159px; left: 0;
	width: 1000px; height: 560px;
	aspect-ratio: 25/14;
	object-fit: cover; display: block;
}
.resource__layer--1 {
	position: absolute; top: 201px; right: 54px;
	width: 853px; height: 281px;
	opacity: .3;
	background: var(--grad-main);
}
.resource__layer--2 {
	position: absolute; top: 272px; right: 19px;
	width: 852px; height: 246px;
	opacity: .4;
	background: #265671;
}
.resource__title {
	position: absolute; top: 290px; left: 820px;
	color: #FFF; white-space: nowrap;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 700; line-height: normal;
}
.resource__lead {
	position: absolute; top: 351px; left: 1081px;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 400; line-height: normal;
}
.resource__sdgs {
	position: absolute; top: 536px; left: 1052px;
	width: 302px; height: 55px;
	aspect-ratio: 302/55;
}
.resource__btn {
	position: absolute; top: 609px; left: 1053px;
	display: flex; align-items: center; justify-content: center;
	width: 300px; height: 69px;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	color: #fff; font-weight: 700; letter-spacing: .04em;
}

/* =========================================================
   トップページ：取扱廃プラ品目
   ========================================================= */
.products {
	position: relative;
	width: 100%;
	height: 784px;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.products__stage {
	position: relative;
	width: 1440px; height: 784px;
	margin-inline: auto;
}
.products__title {
	position: absolute; top: 83px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 700; line-height: normal;
}
.products__lead {
	position: absolute; top: 126px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #FFF; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 400; line-height: normal;
}
.products__bar {
	position: absolute; left: 88px; top: 347px;
	width: 1352px; height: 45px;
	opacity: .5;
	background: var(--grad-main);
	z-index: 0;
}
.pcard {
	position: absolute; z-index: 1;
	width: 280px; height: 220px;
	border-radius: 6px;
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	text-align: center;
	padding: 0;
}
.pcard h3 {
	margin-top: 42px;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 24px; font-weight: 700; line-height: normal;
}
.pcard p {
	margin-top: 15px;
	color: #787878;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 700; line-height: normal;
}
.pcard--1 { left: 130px;  top: 210px; background: #04DFAE; }
.pcard--2 { left: 430px;  top: 230px; background: #A4F0B3; }
.pcard--3 { left: 730px;  top: 250px; background: #7FE6DD; }
.pcard--4 { left: 1030px; top: 270px; background: #7FD8E6; }
.products__btn {
	position: absolute; left: 228px; top: 504px;
	display: flex; align-items: center; justify-content: center;
	width: 300px; height: 69px;
	padding-left: 20px;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 700; line-height: normal;
}
.products__note {
	position: absolute; left: 161px; top: 626px;
	width: 1280px; height: 85px;
	background: #F0F2F0;
}
.products__note-title {
	padding: 17px 0 0 453px;
	text-align: left;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 22px; font-weight: 700; line-height: normal;
	background: var(--grad-main);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}
.products__note-sub {
	margin-top: 2px;
	padding-left: 378px;
	color: #888;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 400; line-height: normal;
}

/* =========================================================
   トップページ：サービス概要 〜 コンタクト
   ========================================================= */
.lower { position: relative; background: #FFF; overflow: hidden; }
.lower__stage {
	position: relative;
	width: 1440px;
	height: 1884px;
	margin-inline: auto;
}

/* サービス概要 */
.ov__img {
	position: absolute; top: 125px; left: 626px;
	width: 814px; height: 543px;
	aspect-ratio: 811/541;
	object-fit: cover; display: block;
}
.ov__layer--1 {
	position: absolute; top: 173px; left: 101px;
	width: 853px; height: 281px;
	opacity: .3;
	background: var(--grad-main);
}
.ov__layer--2 {
	position: absolute; top: 244px; left: 130px;
	width: 852px; height: 246px;
	opacity: .4;
	background: #265671;
}
.ov__title {
	position: absolute; top: 262px; left: 151px;
	color: #FFF; white-space: nowrap;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 700; line-height: normal;
}
.ov__lead {
	position: absolute; top: 323px; left: 151px;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 400; line-height: normal;
}
.ov__btn {
	position: absolute; top: 540px; left: 228px;
	display: flex; align-items: center; justify-content: center;
	width: 300px; height: 69px;
	padding-left: 20px;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 700; line-height: normal;
}

/* SERVICE 01 / 02 */
.svc__band {
	position: absolute; top: 791px; left: 0;
	width: 1440px; height: 181px;
	opacity: .3;
	background: var(--grad-main);
}
.svc__en {
	position: absolute; top: 754px;
	font-family: "Marcellus", serif;
	font-size: 64px; font-weight: 400; line-height: normal;
	white-space: nowrap;
}
.svc__en--01 { left: 324px; color: #01BE98; }
.svc__en--02 { left: 801px; color: #01B2D8; }
.svc__card {
	position: absolute; top: 836px;
	width: 420px; height: 230px;
	border-radius: 6px;
	background: #FFF;
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	text-align: center;
}
.svc__card--01 { left: 345px; }
.svc__card--02 { left: 829px; }
.svc__card h3 {
	margin-top: 31px;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 20px; font-weight: 700; line-height: normal;
}
.svc__card > p {
	margin-top: 5px;
	color: #888;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 700; line-height: normal;
}
.svc__btn {
	display: flex; align-items: center; justify-content: center;
	width: 240px; height: 55px;
	margin: 45px auto 0;
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: normal;
}
.svc__btn--01 { background: #01BE98; }
.svc__btn--02 { background: #01B2D8; }

/* よくある質問バナー */
.faqb__bg {
	position: absolute; top: 1233px; left: 0;
	width: 1440px; height: 651px;
	opacity: .3;
	background: var(--grad-main);
}
.faqb__img {
	position: absolute; top: 1179px; left: 0;
	width: 1259px; height: 446px;
	object-fit: cover; display: block;
}
.faqb__title {
	position: absolute; top: 1284px; left: 805px;
	color: #FFF; white-space: nowrap;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 24px; font-weight: 700; line-height: normal;
}
.faqb__lead {
	position: absolute; top: 1350px; left: 805px;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 400; line-height: normal;
}
.faqb__btn {
	position: absolute; top: 1440px; left: 805px;
	display: flex; align-items: center; justify-content: center;
	width: 300px; height: 69px;
	padding-left: 20px;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 18px; font-weight: 700; line-height: normal;
}

/* コンタクトバナー */
.ctab {
	position: absolute; top: 1579px; left: 74px;
	width: 1280px; height: 265px;
	background: #F0F2F0;
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
}
.ctab__lead {
	position: absolute; top: 41px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap; text-align: center;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 700; line-height: normal;
}
.ctab__btn {
	position: absolute; top: 148px;
	display: flex; flex-direction: column;
	align-items: center; justify-content: flex-start;
	width: 300px; height: 69px;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
	color: #FFF; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
}
.ctab__btn--tel  { left: 320px; padding-top: 7px; }
.ctab__btn--mail { left: 660px; padding-top: 10px; }
.ctab__num  { font-size: 24px; font-weight: 700; line-height: normal; }
.ctab__main { font-size: 20px; font-weight: 700; line-height: normal; }
.ctab__sub  { font-size: 14px; font-weight: 700; line-height: normal; }

/* =========================================================
   会社案内：代表挨拶 + SDGs / リサイクル
   ========================================================= */
.cmp {
	position: relative;
	width: 100%;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.cmp__stage {
	position: relative;
	width: 1440px; height: 1077px;
	margin-inline: auto;
}

/* SP用ラッパー：PCでは無害化 */
.cmp__greet-wrap,
.cmp__sdgs-icons { display: contents; }

/* 代表ご挨拶 */
.cmp__greet-bg {
	position: absolute; top: 0; left: 0;
	width: 1440px; height: 385px;
	opacity: .3;
	background: var(--grad-main);
}
.cmp__greet-title {
	position: absolute; top: 79px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #1E1E1E; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 700; line-height: normal;
}
.cmp__greet-body {
	position: absolute; top: 145px; left: 50%;
	transform: translateX(-50%);
	width: 100%;
	color: #1E1E1E; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px; font-weight: 400; line-height: normal;
}
.cmp__greet-body p { margin-bottom: 1.6em; }
.cmp__greet-name { font-weight: 700; margin-bottom: 0 !important; }

/* SDGs（下半分セクション起点 = 385px） */
.cmp__sdgs-logo {
	position: absolute; top: 491px; left: 130px;
	width: 310px; height: 183px;
	aspect-ratio: 227/134;
}
.cmp__sdgs-line {
	position: absolute; top: 666px; left: 117px;
	width: 360px; height: 2px;
	background: linear-gradient(90deg, rgba(55,141,77,0) 0%, #378D4D 50%, rgba(55,141,77,0) 100%);
}
.cmp__sdgs-title {
	position: absolute; top: 674px; left: 115px;
	white-space: nowrap;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 26px; font-weight: 700; line-height: normal;
}
.cmp__sdgs-lead {
	position: absolute; top: 718px; left: 115px;
	color: #1E1E1E; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: normal;
}
.cmp__sdgs-icon {
	position: absolute; top: 779px;
	width: 140px; height: 140px;
}
.cmp__sdgs-icon--12 { left: 138px; }
.cmp__sdgs-icon--17 { left: 310px; }

/* 注記枠 */
.cmp__note {
	position: absolute; top: 916px; right: 52px;
	z-index: 2;
	width: 841px; height: 114px;
	border-radius: 16px;
	background: #FFF;
	box-shadow: 0 0 7px 0 #378E4D;
}
.cmp__note-icon-l {
	position: absolute; top: 50%; left: 56px;
	transform: translateY(-50%);
	width: 80px; height: 98px;
}
.cmp__note-icon-r {
	position: absolute; top: 30px; right: 58px;
	width: 87px; height: 67px;
}
.cmp__note-txt {
	position: absolute; top: 12px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #1F7E5E; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px; font-weight: 700; line-height: normal;
	margin: 0;
}

/* =========================================================
   リサイクルの仕組み（枠 841×459 基準）
   ========================================================= */
.cmp__recycle {
	position: absolute; top: 437px; right: 52px;
	z-index: 2;
	width: 841px; height: 459px;
	border-radius: 16px;
	background: #FFF;
	box-shadow: 0 0 7px 0 #378E4D;
	padding: 0;
	overflow: hidden;
}

.cmp__recycle-sp { display: none; }

/* 見出し */
.rcy__title {
	position: absolute; top: 13px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #126537;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 28px; font-weight: 700; line-height: normal;
	letter-spacing: 2.8px; text-indent: 2.8px;
	margin: 0;
}
.rcy__title-line {
	position: absolute; top: 34px;
	width: 70px; height: 2px;
}
.rcy__title-line--l { left: 200px;  background: linear-gradient(90deg, rgba(55,141,77,0) 0%, #378D4D 100%); }
.rcy__title-line--r { right: 200px; background: linear-gradient(270deg, rgba(55,141,77,0) 0%, #378D4D 100%); }

/* ボックス共通 */
.rbox {
	position: absolute;
	border-radius: 8px;
	padding: 0;
	overflow: hidden;
}
.rbox__head {
	position: absolute; top: 0; left: 0;
	display: flex; align-items: flex-start; justify-content: center;
	width: 100%; height: 36px;
	padding-top: 3px;
	border-radius: 8px 8px 0 0;
	color: #FFF; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 20px; font-weight: 700; line-height: normal;
	margin: 0;
}
.rbox__head--navy  { background: #0D388B; }
.rbox__head--teal  { background: #088998; }
.rbox__head--teal2 { background: #4AACAB; }
.rbox__head--green { background: #378D4D; justify-content: flex-start; padding-left: 113px; }

.rbox__sub {
	position: absolute; top: 41px; left: 0;
	width: 100%; text-align: center;
	color: #0B2454;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px; font-weight: 700; line-height: normal;
	margin: 0;
}

/* 左上：各業者廃プラ発生（335×211 / 左39px / 上68px） */
.rbox--gen {
	left: 39px; top: 68px;
	width: 335px; height: 211px;
	background: #EBF4FB;
}
.rbox__list {
	position: absolute; top: 78px; left: 40px;
	display: flex; flex-direction: column; gap: 8px;
	color: #0B2454;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 20px; font-weight: 700; line-height: normal;
	margin: 0; padding: 0; list-style: none;
}
.rbox__deco--gen {
	position: absolute; right: 31px; bottom: 26px;
	width: 102px; height: 100px;
}

/* 右上：流通（334×211） */
.rbox--dist {
	right: 39px; top: 68px;
	width: 334px; height: 211px;
	background: #ECF7F9;
}
.rbox__ico { position: absolute; }
.rbox__ico--bottle { left: 47px; top: 73px;  width: 12px; height: 29px; }
.rbox__ico--toy    { left: 42px; top: 126px; width: 22px; height: 20px; }
.rbox__ico--tv     { left: 42px; top: 167px; width: 22px; height: 20px; }
.rbox__txt {
	position: absolute; left: 76px;
	color: #3A5174;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: normal;
	margin: 0;
}
.rbox__txt--1 { top: 68px; }
.rbox__txt--2 { top: 128px; }
.rbox__txt--3 { top: 166px; }

/* 左下：買取・回収・粉砕・圧縮・輸出（462×110） */
.rbox--makoto {
	left: 39px; top: 325px;
	width: 462px; height: 110px;
	background: #D1E5C5;
}
.rbox__head-ico {
	position: absolute; left: 71px; top: 6px;
	width: 30px; height: 24px;
	aspect-ratio: 5/4;
}
.rbox__makoto-name {
	position: absolute; top: 37px; left: 0;
	width: 100%; text-align: center;
	color: #378D4D;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 24px; font-weight: 700; line-height: normal;
	margin: 0;
}
.rbox__makoto-sub { font-size: 16px; font-weight: 700; }

/* 右下：海外でリサイクル（239×110） */
.rbox--overseas {
	right: 44px; bottom: 25px;
	width: 239px; height: 110px;
	background: #D4EBEB;
}
.rbox__overseas-txt {
	position: absolute; top: 47px; left: 20px;
	color: #0B3E56;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px; font-weight: 700; line-height: normal;
	margin: 0;
}
.rbox__deco--overseas {
	position: absolute; right: 16px; bottom: 16px;
	width: 44px; height: 43px;
}

/* 矢印 */
.rcy__arrow { position: absolute; width: 26px; height: 30px; }
.rcy__arrow--up    { transform: rotate(90deg); }
.rcy__arrow--down  { transform: rotate(-90deg); }
.rcy__arrow--left  { transform: none; }
.rcy__arrow--right { transform: rotate(180deg); }

/* 上段：流通 → 各業者廃プラ発生 */
.rcy__arrow--u1 { left: 405px; top: 148px; }
.rcy__arrow--u2 { left: 405px; top: 188px; }
.rcy__arrow--u3 { left: 405px; top: 228px; }
/* 各業者廃プラ発生 → 買取 */
.rcy__arrow--mid { left: 193px; top: 289px; }
/* 買取 → 海外でリサイクル */
.rcy__arrow--r1 { left: 517px; top: 365px; }
/* 海外でリサイクル → 流通 */
.rcy__arrow--r2 { left: 645px; top: 289px; }

/* 左下アイコン4つ */
.rbox__icons {
	position: absolute; top: 80px; left: 122px;
	display: flex; align-items: center; gap: 18px;
}
.rbox__icons img { width: 28px; height: 22.829px; }
.rbox__icons-4 { width: 20.014px !important; height: 19.181px !important; }

/* =========================================================
   会社案内：会社概要 / 沿革 / 設備 / アクセス
   ========================================================= */
.spec-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 32px;
	font-size: 13px;
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.25));
}
.spec-table th, .spec-table td {
	text-align: left;
	padding: 8px 20px;
	vertical-align: top;
	border-bottom: 1px solid #fff;
	line-height: 1.6;
}
.spec-table th { width: 200px; background: #d7ede8; color: var(--heading); font-weight: 700; white-space: nowrap; }
.spec-table td { background: #eef7f4; }
.spec-table tr:nth-child(even) td { background: #f7fbfa; }
.spec-table tr:last-child th,
.spec-table tr:last-child td { border-bottom: none; }

/* =========================================================
   沿革
   ========================================================= */
.hist { position: relative; overflow: hidden; }
.hist__bg {
	position: absolute; inset: 0;
	opacity: .3;
	background: var(--grad-main);
}
.hist__stage {
	position: relative;
	width: 1440px; height: 340px;
	margin-inline: auto;
}

.hist__title {
	position: absolute; top: 46px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 700; line-height: normal;
	margin: 0;
}

/* ● */
.hist__dot {
	position: absolute; left: 428px;
	width: 12px; height: 12px;
	border-radius: 50%;
	background: #2D7A4E;
}
.hist__dot--1 { top: 108.5px; }
.hist__dot--2 { top: 149px; }
.hist__dot--3 { top: 189px; }
.hist__dot--4 { top: 229px; }
.hist__dot--5 { top: 273px; }

/* 年 */
.hist__year {
	position: absolute; left: 452px;
	white-space: nowrap;
	color: #2D7A4E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: normal;
	margin: 0;
}
.hist__year--1 { top: 104px; }
.hist__year--2 { top: 144.5px; }
.hist__year--3 { top: 184.5px; }
.hist__year--4 { top: 224.5px; }
.hist__year--5 { top: 268.5px; }

/* 破線 */
.hist__line {
	position: absolute; left: 528px;
	width: 91px; height: 1px;
	background: repeating-linear-gradient(90deg, #1E1E1E 0 2px, transparent 2px 5px);
}
.hist__line--1 { top: 114px; }
.hist__line--2 { top: 154.5px; }
.hist__line--3 { top: 194.5px; }
.hist__line--4 { top: 234.5px; }
.hist__line--5 { top: 278.5px; }

/* 本文 */
.hist__txt {
	position: absolute; left: 639px;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 400; line-height: 1.5;
	margin: 0;
}
.hist__txt--1 { top: 104px; }
.hist__txt--2 { top: 144.5px; }
.hist__txt--3 { top: 184.5px; }
.hist__txt--4 { top: 224.5px; }
.hist__txt--5 { top: 268.5px; }

.facility__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 36px; }
.facility__card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; }
.facility__name { display: block; font-size: 16px; font-weight: 700; color: var(--heading); margin-bottom: 4px; }
.facility__card figcaption {
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 15px;
	font-weight: 400;
	line-height: normal;
	margin-top: 14px;
}


.facility { padding-bottom: clamp(24px, 3.5vw, 48px); }
.access { padding-top: clamp(24px, 3.5vw, 48px); }

.access__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; margin-top: 36px; align-items: stretch; }
.access__map { min-height: 360px; border-radius: 8px; overflow: hidden; background: #dfe6e5; }
.access__map iframe { display: block; width: 100%; height: 100%; min-height: 360px; }
.access__name { font-size: 20px; font-weight: 700; color: var(--heading); }
.access__addr { margin: 6px 0 20px; }
.access__routes li { position: relative; padding-left: 22px; margin-bottom: 10px; }
.access__routes li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: var(--green); }

@media (max-width: 900px) {
	.facility__grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
	.access__grid { grid-template-columns: 1fr; }
	.spec-table th { width: 130px; padding: 12px; }
	.spec-table td { padding: 12px; }
}
@media (max-width: 560px) {
	.timeline__item { grid-template-columns: 1fr; gap: 4px; }
	.spec-table, .spec-table tbody, .spec-table tr, .spec-table th, .spec-table td { display: block; width: auto; }
	.spec-table th { white-space: normal; border-bottom: none; }
	.spec-table td { margin-bottom: 8px; }
}

/* =========================================================
   事業内容：資源循環の仕組み
   ========================================================= */
.cycle {
	position: relative;
	width: 100%; height: 481px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.cycle__stage {
	position: relative;
	width: 1440px; height: 481px;
	margin-inline: auto;
}
.cycle__title {
	position: absolute; top: 70px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px; font-weight: 700; line-height: normal;
	margin: 0;
}

/* SDGsロゴを前面に */
.cycle__sdgs {
	position: absolute !important;
	top: 146px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	width: 302px;
	height: 55px;
	margin: 0;
}

/* カード群はロゴの下に */
.cycle__steps {
	position: absolute; top: 240px; left: 50%;
	transform: translateX(-50%);
	display: grid;
	grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr;
	align-items: stretch;
	gap: 8px;
	width: 1200px;
}

.cstep {
	background: linear-gradient(160deg, #2f8049, #266b3d);
	color: #fff;
	border-radius: 8px;
	padding: 22px 18px;
	box-shadow: 0 10px 24px rgba(20,70,45,.2);
}
.cstep h3 { text-align: center; font-size: 20px; font-weight: 700; margin-bottom: 12px; }
.cstep p { font-size: 13px; line-height: 1.75; color: rgba(255,255,255,.92); }
.cstep__arrow {
	display: flex; align-items: center; justify-content: center;
	color: var(--green); font-size: 24px; font-weight: 700;
}

/* =========================================================
   事業内容：廃プラ買取事業
   ========================================================= */
.biz1 {
	position: relative;
	width: 100%; height: 536px;
	background: none;
	overflow: hidden;
}
.biz1::before {
	content: "";
	position: absolute; inset: 0;
	opacity: .3;
	background: var(--grad-main);
}
.biz1__stage {
	position: relative;
	width: 1440px; height: 536px;
	margin-inline: auto;
}
.biz1__title {
	position: absolute; top: 29px; left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	color: #1E1E1E; text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 32px; font-weight: 700; line-height: normal;
	margin: 0;
}
.biz1__img {
	position: absolute; top: 113px; left: 190px;
	width: 520px; height: 390px;
	border-radius: 4px;
	object-fit: cover; display: block;
}
.biz1__head {
	position: absolute; top: 184px; left: 776px;   /* 190 + 520 + 66 */
	white-space: nowrap;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 26px; font-weight: 700; line-height: normal;
	margin: 0;
}
.biz1__txt {
	position: absolute; top: 227px; left: 776px;
	color: #888; text-align: left;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 400; line-height: 1.6;
	margin: 0;
}
.biz1__btn {
	position: absolute; top: 380px; left: 776px;
	display: flex; align-items: center;
	width: 240px; height: 44px;
	padding-left: 57px;
	border-radius: 4px;
	background: #2D7A4E;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: normal;
}

/* セクション間の白余白 */
.biz__gap { height: 44px; background: #FFF; }

/* =========================================================
   事業内容：新品フレコンバッグ販売事業
   ========================================================= */
.biz2 { position: relative; overflow: hidden; }
.biz2__bg {
	position: absolute; inset: 0;
	opacity: .3;
	background: linear-gradient(270deg, #00BF93 0%, #00B1DB 100%);
}
.biz2__stage {
	position: relative;
	width: 1440px; height: 448px;
	margin-inline: auto;
}
.biz2__head {
	position: absolute; top: 109px; left: 267px;
	white-space: nowrap;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 26px; font-weight: 700; line-height: normal;
	margin: 0;
}
.biz2__txt {
	position: absolute; top: 152px; left: 267px;
	color: #888; text-align: left;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 400; line-height: 1.6;
	margin: 0;
}
.biz2__btn {
	position: absolute; top: 305px; left: 267px;
	display: flex; align-items: center;
	width: 240px; height: 44px;
	padding-left: 32px;
	border-radius: 4px;
	background: #2D7A4E;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px; font-weight: 700; line-height: normal;
}
.biz2__img {
	position: absolute; top: 29px; right: 190px;
	width: 520px; height: 390px;
	aspect-ratio: 4/3;
	border-radius: 4px;
	object-fit: cover; display: block;
}

/* =========================================================
   廃プラ買取ページ（Service 01）
   ========================================================= */
.reason {
	width: 280px;
	height: 128px;
	border-radius: 6px;
	background: #7FE6DD;
	padding: 18px 12px 0;
	text-align: center;
	box-shadow: none;
}
.reasons__grid {
	display: grid;
	grid-template-columns: repeat(4, 280px);
	justify-content: center;
	gap: 20px;
	margin-top: 40px;
}
.reason h3 {
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
	margin: 0 0 10px;
}
.reason p {
	color: #888;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 15px;
	font-weight: 500;
	line-height: normal;
	margin: 0;
}
.reasons__statement {
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 27px;
	font-weight: 700;
	line-height: normal;
	margin-top: 48px;
}

/* ==廃プラ紹介== */

.items { position: relative; background: none; }

.items::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: .3;
	background: var(--grad-main);
	pointer-events: none;
}
.items > .container { position: relative; z-index: 1; }
.items__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 22px; margin-top: 40px; }
.item img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 6px; }
.item figcaption {
	background: #fff;
	border-radius: 5px;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	padding: 0 8px;
	margin-top: 12px;
	box-shadow: 0 2px 8px rgba(20,60,55,.06);
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.item:last-child figcaption {
	font-size: 12px;
	line-height: 1.25;
}
.items__notes {
	width: fit-content;
	margin: 59px auto 0;
}
.items__notes p {
	color: #231815;
	text-align: left;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
	margin: 0 0 6px;
}
.items__notes-lead {
	text-align: center !important;
	margin: 36px 0 0 !important;
}
/* ===== 取扱廃プラ品目：ミニCTA ===== */
.mini-cta {
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-top: 48px;
}
.mini-cta a.cta-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 300px;
	height: 69px;
	padding: 0;
	gap: 0;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, .25);
	border-radius: 0;
	color: #FFF;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	line-height: normal;
}
.mini-cta a.cta-btn--tel  { padding-top: 7px; }
.mini-cta a.cta-btn--mail { padding-top: 10px; }
.mini-cta a.cta-btn .cta-btn__num {
	display: block;
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
	margin: 0;
}
.mini-cta a.cta-btn--mail .cta-btn__num { font-size: 20px; }
.mini-cta a.cta-btn .cta-btn__sub {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	margin: 0;
}
.items { padding-bottom: 118px; }

/* ==フロー== */
.buyflow__steps { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr; align-items: stretch; gap: 6px; margin-top: 36px; }
.bstep { border-radius: 8px; padding: 8px 16px 16px; }
.buyflow__steps .bstep:nth-of-type(1) { background: #B2ECDF; }
.buyflow__steps .bstep:nth-of-type(2) { background: #B2EBE5; }
.buyflow__steps .bstep:nth-of-type(3) { background: #B3EAE9; }
.buyflow__steps .bstep:nth-of-type(4) { background: #B2E9EF; }
.buyflow__steps .bstep:nth-of-type(5) { background: #B2E8F4; }.bstep__no { font-family: var(--font-en); font-weight: 700; font-size: 26px; color: #2f8f6e; display: block; }
.bstep h3 { font-size: 16px; font-weight: 700; color: var(--heading); margin: 1px 0 0; }
.bstep p { font-size: 12px; line-height: 1.7; color: #37605a; margin: 0 0 24px; }.bstep__arrow { display: flex; align-items: center; justify-content: center; color: #2f8f6e; font-weight: 700; }

/* ==有価・逆有償の判断基準== */
.criteria { background: #e4f1e6; }
.criteria__list { margin-top: 28px; }
.criteria__list li { position: relative; padding-left: 24px; margin-bottom: 12px; }
.criteria__list li::before { content: ""; position: absolute; left: 0; top: .6em; width: 11px; height: 11px; border-radius: 50%; background: var(--green); }
.criteria__note { margin-top: 20px; color: var(--text); }
.criteria__lead { text-align: center; font-weight: 700; color: var(--heading); margin-top: 28px; font-size: 17px; }

/* ==対応エリア== */
.area__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.area__map img { width: 100%; border-radius: 8px; background: #eef2f1; }
.area__main { font-weight: 700; color: var(--heading); margin: 20px 0 12px; font-size: 16px; }
.area__note { color: var(--muted); }
.area__figs { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 48px; }
.area__figs img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 8px; }
.area__figs figcaption { text-align: center; font-size: 14px; color: var(--muted); margin-top: 13px; }

/* ==導入事例・お客様の声== */
.voices { background: #DDEBEF; }
.voices__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 40px; }
.voice { background: #9DE0EA; border-radius: 6px; padding: 24px; }
.voice__tag { display: inline-block; background: #2D677A; color: #fff; font-size: 12px; font-weight: 700; padding: 5px 14px; border-radius: 4px; }
.voice__title { font-size: 16px; font-weight: 700; color: var(--heading); margin: 16px 0 12px; line-height: 1.6; }
.voice__body { font-size: 14px; color: #3d5a5a; line-height: 1.8; }

@media (max-width: 900px) {
	.reasons__grid { grid-template-columns: 1fr 1fr; }
	.items__grid { grid-template-columns: 1fr 1fr; }
	.buyflow__steps { grid-template-columns: 1fr; }
	.buyflow__steps .bstep__arrow { transform: rotate(90deg); }
	.area__grid { grid-template-columns: 1fr; gap: 28px; }
	.area__figs { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
	.voices__grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
}
@media (max-width: 520px) {
	.reasons__grid { grid-template-columns: 1fr; }
	.items__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}

/* =========================================================
   フレコンバッグ販売ページ（Service 02）
   ========================================================= */
.flecon-about__grid { display: grid; grid-template-columns: 340px 1fr; gap: 56px; align-items: center; }
.flecon-about__media img { width: 100%; }
.flecon-about__body p { margin-bottom: 1.0em; }
.flecon-about__spec { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 16px; }
.flecon-about__spec span { background: #bfe8df; color: var(--heading); font-weight: 700; padding: 8px 20px; border-radius: 4px; font-size: 15px; }
.flecon-about__spec span { background: #bfe8df; color: var(--heading); font-weight: 700; padding: 4px 20px; border-radius: 4px; font-size: 15px; }
.flecon-about__price { display: inline-block; background: #bfe8df; color: var(--teal); font-weight: 700; padding: 4px 22px; border-radius: 4px; font-size: 20px; }
.flecon-about { padding-bottom: clamp(20px, 3.0vw, 20px); }

.flecon-feat { padding-top: clamp(20px, 3.0vw, 20px); }
.flecon-feat__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.ffeat h3 { text-align: center; font-size: 20px; font-weight: 700; color: var(--heading); margin-bottom: 6px; }
.ffeat img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 6px; }
.ffeat figcaption { font-size: 14px; color: var(--muted); margin-top: 14px; line-height: 1.8; }
.flecon-feat { padding-bottom: clamp(24px, 3.5vw, 48px); }

/* =========================================================
   価格セクション（五角形）
   ========================================================= */
.price {
	position: relative;
	background: none;
	text-align: center;
	padding: 0;
	overflow: visible;
}
.price::before {
	content: "";
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 1440px;
	height: 574px;
	opacity: .3;
	background: var(--grad-main);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 130px), 50% 100%, 0 calc(100% - 130px));
	z-index: 0;
	pointer-events: none;
}
.price > .container {
	position: relative;
	z-index: 1;
	height: 574px;
}
.price .sec-heading {
	margin: 0;
	padding-top: 43px;
}

/* リード文：ブロックは中央、テキストは左揃え */
.price .sec-lead {
	width: fit-content;
	margin-inline: auto;
	text-align: left;
}

/* 緑カード */
.price .price__box {
	position: relative;
	width: 640px;
	height: 265px;
	margin: 32px auto 0;
	padding: 0;
	border-radius: 8px;
	background: #2D7A4E;
	background-image: none;
	box-shadow: none;
	color: #fff;
}

/* 現在の販売価格タグ */
.price .price__box .price__tag {
	position: absolute;
	top: 18px;
	left: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 26px;
	padding: 0;
	border-radius: 3px;
	background: #FDB52E;
	color: #2D7A4E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
}
.price .price__box .price__tag span {
	display: block;
	margin-top: -2px;
}

/* 649円(税込)/ 枚 */
.price .price__box .price__value {
	position: absolute;
	top: 48px;
	left: 0;
	width: 100%;
	margin: 0;
	color: #FDB52E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 64px;
	font-weight: 500;
	line-height: normal;
}
.price .price__box .price__value strong {
	font-size: 64px;
	font-weight: 500;
	line-height: normal;
}
.price .price__box .price__value span {
	color: #FDB52E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
}

/* 注記2行 */
.price .price__box .price__note {
	position: absolute;
	top: 145px;
	left: 0;
	width: 100%;
	margin: 0;
	color: #FFF;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 11px;
	font-weight: 700;
	line-height: normal;
}

/* 10枚1セット */
.price .price__box .price__set {
	position: absolute;
	top: 185px;
	left: 0;
	width: 100%;
	margin: 0;
	color: #FDB52E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 32px;
	font-weight: 700;
	line-height: normal;
}
.price .price__box .price__set span {
	color: #FDB52E;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

/* 発送の場合〜 */
.price .price__ship {
	margin-top: 10px;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

/* =========================================================
   ご購入方法（五角形に被せる）
   ========================================================= */
.buy {
	position: relative;
	margin-top: 0;
	padding-top: 0;
}
.buy .buy__title {
	position: relative;
	z-index: 3;
	margin: -70px 0 0;
	padding: 0;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 30px;
	font-weight: 700;
	line-height: normal;
}
.buy .buy-method--mint {
	position: relative;
	z-index: -1;
	width: 1200px;
	height: 600px;
	margin: -50px auto 0;
	padding: 0;
	background: #B3ECDF;
}
/* =========================================================
   ご購入方法：メールフォームより購入
   ========================================================= */
.buy .buy-method--mint > .container {
	padding-top: 128px;
}

/* 見出し（アイコン＋テキスト）— mint / cyan 共通 */
.buy .buy-method__head {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 11px;
	margin: 0 0 36px;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
}
.buy .buy-method__head img {
	width: 50px;
	height: 40px;
	aspect-ratio: 5/4;
	flex: none;
}
.buy .buy-method--cyan .buy-method__head img {
	width: 50px;
	height: 42.5px;
	aspect-ratio: 20/17;
}

/* ステップ3枚 — mint / cyan 共通 */
.buy .buy-method__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	max-width: none;
	margin-inline: auto;
}
.buy .buy-method__steps .bmstep {
	display: block;
	width: 300px;
	height: 114px;
	padding: 12px 16px 0;
	border-radius: 8px;
	background: #FFF;
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, .25);
	text-align: center;
}
.buy .buy-method__steps .bmstep__no {
	display: block;
	margin: 0;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
}
.buy .buy-method__steps .bmstep p {
	margin: 0;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

/* 三角矢印 — mint / cyan 共通 */
.buy .buy-method__steps .bmstep__arrow {
	flex: none;
	width: 32px;
	height: 37px;
	font-size: 0;
	color: transparent;
	background: #FFF;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .25));
}

/* ボタン — mint / cyan 共通 */
.buy .buy-method__btn {
	display: flex;
	justify-content: center;
	margin-top: 52px;
}
.buy .buy-method__btn .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 69px;
	min-width: 0;
	padding: 0;
	border-radius: 0;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, .25);
	color: #FFF;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

/* メールフォーム：見積り案内文 */
.buy .buy-method--mint .buy-method__lead {
	margin-top: 43px;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

/* =========================================================
   ご購入方法：FAXより購入
   ========================================================= */
.buy .buy-method--cyan {
	width: 1200px;
	height: 605px;
	margin: 50px auto 0;
	padding: 0;
	background: #B2EAE9;
}
.buy .buy-method--cyan > .container {
	padding-top: 73px;
}

/* FAX番号 */
.buy .buy-method--cyan .buy-method__fax {
	margin-top: 30px;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 32px;
	font-weight: 700;
	line-height: normal;
}

/* FAX：見積り案内文 */
.buy .buy-method--cyan .buy-method__lead {
	margin-top: 30px;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

/* =========================================================
   ご購入方法：現地で直接購入
   ========================================================= */
.buy-method__onsite {
	background: #fff;
	border-radius: 12px;
	max-width: 780px;
	margin-inline: auto;
	padding: 32px;
	text-align: center;
	box-shadow: 0 6px 16px rgba(20,60,55,.08);
}
.buy-method__onsite strong { color: var(--heading); }

/* =========================================================
   ご購入方法：現地で直接購入
   ========================================================= */
.buy .buy-method--cyan2 {
	width: 1200px;
	height: 410px;
	margin: 50px auto 0;
	padding: 0;
	background: #B4E8F4;
}
.buy .buy-method--cyan2 > .container {
	padding-top: 75px;
}

/* 見出し（工場アイコン＋テキスト） */
.buy .buy-method--cyan2 .buy-method__head {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 11px;
	margin: 0 0 36px;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
}
.buy .buy-method--cyan2 .buy-method__head img {
	margin-top: -7px;
	flex: none;
}

/* 白カード */
.buy .buy-method__onsite {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 630px;
	height: 114px;
	max-width: none;
	margin-inline: auto;
	padding: 0;
	border-radius: 8px;
	background: #FFF;
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, .25);
	text-align: center;
}
.buy .buy-method__onsite p {
	margin: 0;
	color: #1E1E1E;
	text-align: center;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}
.buy .buy-method__onsite strong {
	color: #1E1E1E;
	font-weight: 700;
}

.buy + .ctas {
	margin-top: 107px;
}

@media (max-width: 900px) {
	.flecon-about__grid { grid-template-columns: 1fr; gap: 28px; }
	.flecon-about__media { max-width: 300px; margin-inline: auto; }
	.flecon-feat__grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
	.buy .buy-method__steps { flex-direction: column; }
	.buy .buy-method__steps .bmstep__arrow { transform: rotate(90deg); }
}

/* =========================================================
   FAQページ
   ========================================================= */
.faq-item {
	border-radius: 4px;
	background: #E6F1EF;
	padding: 24px 30px;
	margin-bottom: 20px;
}
.faq-item:nth-child(even) { background: #FFFFFF; }

.faq-item__q { position: relative; padding-left: 46px; font-weight: 700; color: var(--heading); font-size: 16px; line-height: 1.6; margin: 0; }
.faq-item__a { position: relative; padding-left: 46px; margin-top: 14px; }
.faq-item__q::before, .faq-item__a::before {
	position: absolute; left: 0; top: 0;
	width: 28px; height: 28px;
	border-radius: 14px;
	color: #fff; font-family: var(--font-en); font-weight: 700; font-size: 15px;
	display: flex; align-items: center; justify-content: center;
}
.faq-item__q::before { content: "Q"; background: #00BF93; }
.faq-item__a::before { content: "A"; background: #00B1DB; }
.faq-item__a p { font-size: 14px; color: var(--text); line-height: 1.85; margin: 0; }
.faq-item__a a { color: var(--teal); text-decoration: underline; }

.faq__other { text-align: center; margin-top: 44px; }
.faq__other a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 560px;
	height: 69px;
	margin-inline: auto;
	background: var(--grad-main);
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.25);
	color: #fff;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}
@media (max-width: 560px) {
	.faq-item { padding: 20px; }
	.faq-item__q { font-size: 15px; }
}

/* =========================================================
   フォーム（お問い合わせ / 注文フォーム）
   ========================================================= */
.form-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	font-size: clamp(20px,2.6vw,28px);
	font-weight: 700;
	color: var(--heading);
	margin-bottom: 40px;
}
.form-heading__icon { font-size: 30px; }
.form-heading--plain {
	justify-content: center;
	margin-top: 54px;
	margin-bottom: 22px;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 22px;
	font-weight: 700;
	line-height: normal;
}

.form-wrap { border: 1px solid var(--line); border-radius: 10px; padding: clamp(24px,4vw,48px); box-shadow: var(--shadow); }

/* =========================================================
   お問い合わせページ：上部アクションカード
   ========================================================= */
.contact { position: relative; overflow: hidden; }
.contact__actions {
	position: relative;
	display: block;
	width: 1440px;
	height: 189px;
	margin-inline: auto;
}
.contact__act {
	position: absolute;
	top: 89px;
	display: block;
	width: 397px;
	height: 100px;
	padding: 0;
	border-radius: 8px;
	background: #2D7A4E;
	box-shadow: none;
	text-align: center;
}
.contact__act--tel  { left: 281px; }
.contact__act--mail { left: 718px; }   /* 281 + 397 + 40 */

.contact__act-label {
	display: block;
	margin-top: 19px;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
}
.contact__act--tel .contact__act-main {
	display: block;
	margin-top: 2px;
	color: #FDB52E;
	font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: normal;
}
.contact__act--mail .contact__act-main {
	display: block;
	margin-top: -4px;
	color: #FDB52E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 32px;
	font-weight: 700;
	line-height: normal;
}

/* =========================================================
   CF7フォーム項目
   ========================================================= */
.mkform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 28px; }
.mkform__row { display: flex; flex-direction: column; gap: 0; }
.mkform__row--full { grid-column: 1 / -1; }

/* ラベル */
.mkform label,
.wpcf7 label {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: nowrap;
	white-space: nowrap;
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

/* 必須 / 任意バッジ */
.req, .opt {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 19px;
	margin-top: 1px;
	padding: 0;
	border-radius: 4px;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 12px;
	font-weight: 700;
	line-height: normal;
}
.req { background: #2D7A4E; }
.opt { background: #9aa9a6; }
.note { font-size: 12px; font-weight: 400; color: var(--muted); }

/* 入力欄 */
.wpcf7-form-control-wrap { display: block; width: 100%; }
.mkform label .wpcf7-form-control-wrap { display: block; flex-basis: 100%; }

.mkform input, .mkform select, .mkform textarea,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"],
.wpcf7 input[type="number"], .wpcf7 select, .wpcf7 textarea {
	width: 100%;
	max-width: 500px;
	height: 40px;
	margin-top: 2px;
	padding: 0 14px;
	border: none;
	border-radius: 4px;
	background: #E6F1EF;
	font-family: inherit;
	font-size: 14px;
	color: var(--text);
}
.mkform input:focus, .mkform select:focus, .mkform textarea:focus,
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--cyan); }

/* 全幅項目：2列ぶんの幅に */
.mkform__row--full input,
.mkform__row--full select,
.mkform__row--full textarea,
.mkform__row--full .wpcf7-form-control,
.wpcf7 .mkform__row--full input,
.wpcf7 .mkform__row--full select,
.wpcf7 .mkform__row--full textarea {
	width: 100%;
	max-width: none;
}

.mkform textarea, .wpcf7 textarea {
	height: auto;
	min-height: 180px;
	padding: 14px;
	resize: vertical;
}

/* 個人情報の取り扱い */
.mkform__policy {
	color: #1E1E1E;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	margin: 32px 0 0;
}
.mkform__policy a { color: #0288a2; text-decoration: underline; }

/* 送信ボタン */
.mkform__submit { text-align: center; margin-top: 34px; }
.mkform__submit .btn,
.wpcf7 .mkform__submit input[type="submit"],
.wpcf7 .mkform__submit .wpcf7-submit {
	display: block;
	width: 280px;
	height: 52px;
	min-width: 0;
	margin-inline: auto;
	padding: 0;
	border: none;
	border-radius: 4px;
	background: #2D7A4E;
	box-shadow: none;
	color: #FFF;
	font-family: "Noto Sans JP", var(--font-jp);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	text-align: center;
	cursor: pointer;
}
.mkform__submit .btn::after { content: none; }

/* CF7 出力補助 */
.wpcf7 .mkform__grid { margin-bottom: 0; }
.wpcf7-not-valid-tip { color: #d33; font-size: 12px; }
.wpcf7 .wpcf7-spinner { margin-top: 12px; }
.wpcf7-response-output { border-radius: 6px; margin: 20px 0 0 !important; padding: 12px 16px !important; }
.wpcf7 .submit-wrap { text-align: center; margin-top: 34px; }

.contact { position: relative; overflow: hidden; padding-bottom: 50px; }

@media (max-width: 700px) {
	.mkform__grid { grid-template-columns: 1fr; }
	.mkform input, .mkform select, .mkform textarea,
	.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"],
	.wpcf7 input[type="number"], .wpcf7 select, .wpcf7 textarea {
		width: 100%;
		max-width: none;
		font-size: 16px;
	}
}

/* =========================================================
   フレコンバッグ注文フォームページ：フォーム配色（ブルー系）
   ========================================================= */
.page-id-22 .req { background: #00ADC8; }
.page-id-22 .opt { background: #BDE8EF; color: #1E1E1E; }

.page-id-22 .mkform input,
.page-id-22 .mkform select,
.page-id-22 .mkform textarea,
.page-id-22 .wpcf7 input[type="text"],
.page-id-22 .wpcf7 input[type="email"],
.page-id-22 .wpcf7 input[type="tel"],
.page-id-22 .wpcf7 input[type="number"],
.page-id-22 .wpcf7 select,
.page-id-22 .wpcf7 textarea { background: #EAF2F3; }

.page-id-22 .mkform input:focus,
.page-id-22 .mkform select:focus,
.page-id-22 .mkform textarea:focus,
.page-id-22 .wpcf7 input:focus,
.page-id-22 .wpcf7 select:focus,
.page-id-22 .wpcf7 textarea:focus { outline: 2px solid #00ADC8; outline-offset: 1px; }

.page-id-22 .mkform__submit .btn,
.page-id-22 .wpcf7 .mkform__submit input[type="submit"],
.page-id-22 .wpcf7 .mkform__submit .wpcf7-submit { background: #00ADC8; }

/* =========================================================
   プライバシーポリシーページ
   ========================================================= */
.privacy__intro { margin-bottom: 40px; }
.privacy__item { padding: 24px 0; border-bottom: 1px solid var(--line); }
.privacy__item h2 { font-size: 18px; font-weight: 700; color: var(--heading); margin-bottom: 14px; }
.privacy__item p { font-size: 14px; line-height: 1.9; color: var(--text); }
.privacy__window { background: #eef3f2; border-radius: 10px; padding: 28px 32px; margin-top: 40px; }
.privacy__window h3 { font-size: 17px; font-weight: 700; color: var(--heading); margin-bottom: 12px; }
.privacy__window p { font-size: 14px; line-height: 1.9; }
.privacy__window a { color: var(--teal); text-decoration: underline; }


/* =========================================================
   レスポンシブのための微調整
   ========================================================= */
.br-sp { display: none; }
/* PCでは透過ラッパーとして無害 */
.svc__wrap { display: contents; }
.cmp__greet-wrap { display: contents; }

/* =========================================================
   レスポンシブ
   ========================================================= */
@media (max-width: 1080px) {
	.gnav__list { gap: 14px; }
}
@media (max-width: 1199px) {
	:root { --header-h: 64px; }
	.site-header { background: rgba(255,255,255,.96); backdrop-filter: blur(6px); box-shadow: 0 1px 10px rgba(20,60,55,.06); }
	.site-header__inner { padding-left: 16px; align-items: center; }
	.site-header__inner::before { display: none; }
	.site-header__logo { padding-top: 0; }
	.site-header__logo img { width: 140px; height: auto; }
	.gnav, .site-header__contact { display: none; }
	.gnav__pill > a { position: static; }
	.fv { padding-top: var(--header-h); }
.pfv { height: 420px; }
	.pfv__en {
		top: 44%;
		font-size: 34px;
		white-space: normal;
		width: 100%;
		text-align: center;
		left: 0;
		transform: none;
	}
	.pfv__jp {
		top: 58%;
		font-size: 16px;
		letter-spacing: 3px;
		text-indent: 3px;
		white-space: normal;
		width: 100%;
		text-align: center;
		left: 0;
		transform: none;
	}

	.nav-toggle {
		display: flex; flex-direction: column; justify-content: center; gap: 5px;
		width: 48px; height: 48px; margin-left: auto; margin-right: 8px;
		background: none; border: 0;
	}
	.nav-toggle span { display: block; width: 26px; height: 2px; background: var(--ink); margin-inline: auto; transition: transform .3s, opacity .3s; }
	.nav-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.nav-toggle.is-active span:nth-child(2) { opacity: 0; }
	.nav-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 600px) {
	body { font-size: 15px; }
	.cta-btn { min-width: 100%; }
	.cta-band__btns { width: 100%; }
	.page-hero { min-height: 240px; }
}

/* =========================================================
   1200〜1439px：PCレイアウトを縮小表示
   ========================================================= */
@media (min-width: 1200px) and (max-width: 1439px) {

.resource__stage,
	.products__stage,
	.lower__stage,
	.cmp__stage,
	.hist__stage,
	.cycle__stage,
	.biz1__stage,
	.biz2__stage,
	.ctas__stage,
	.site-footer__stage,
	.contact__actions,
	.pfv__inner {
		transform: scale(calc(100vw / 1440));
		transform-origin: top left;
		margin-left: calc((100vw - 1440px) / 2);
	}

	/* 縮小で余る高さを詰める */
	.resource__stage      { margin-bottom: calc((100vw / 1440 - 1) * 802px); }
	.products__stage      { margin-bottom: calc((100vw / 1440 - 1) * 784px); }
	.lower__stage         { margin-bottom: calc((100vw / 1440 - 1) * 1884px); }
	.cmp__stage           { margin-bottom: calc((100vw / 1440 - 1) * 1077px); }
	.hist__stage          { margin-bottom: calc((100vw / 1440 - 1) * 340px); }
	.cycle__stage         { margin-bottom: calc((100vw / 1440 - 1) * 481px); }
	.biz1__stage          { margin-bottom: calc((100vw / 1440 - 1) * 536px); }
	.biz2__stage          { margin-bottom: calc((100vw / 1440 - 1) * 448px); }
	.ctas__stage          { margin-bottom: calc((100vw / 1440 - 1) * 347px); }
	.site-footer__stage   { margin-bottom: calc((100vw / 1440 - 1) * 240px); }
	.contact__actions     { margin-bottom: calc((100vw / 1440 - 1) * 189px); }
	.pfv__inner           { margin-bottom: calc((100vw / 1440 - 1) * 781px); }

	/* 親セクションの固定高も縮小に合わせる */
	.products { height: calc(784px * 100vw / 1440); }
	.cycle    { height: calc(481px * 100vw / 1440); }
	.biz1     { height: calc(536px * 100vw / 1440); }
	.pfv      { height: calc(781px * 100vw / 1440); }
	.site-footer { height: calc(240px * 100vw / 1440); }

	/* 横方向の切れ防止 */
	.resource, .products, .lower, .cmp, .hist,
	.cycle, .biz1, .biz2, .ctas, .site-footer, .contact {
		overflow-x: hidden;
	}
}

/* =========================================================
   SP（〜767px）
   ========================================================= */
@media (max-width: 1199px) {

/* --- 共通：中間幅の補正を打ち消し --- */
	.resource__stage,
	.products__stage,
	.lower__stage,
	.cmp__stage,
	.hist__stage,
	.cycle__stage,
	.biz1__stage,
	.biz2__stage,
	.ctas__stage,
	.site-footer__stage,
	.contact__actions,
	.pfv__inner {
		transform: none;
		margin-left: auto;
		margin-right: auto;
	}

	/* =====================================================
	   01-TOP
	   ===================================================== */

	/* --- FV --- */
	.fv {
		min-height: 0;
		height: 60vh;
		max-height: 480px;
	}
	.fv__title {
		position: absolute;
		top: 50%;
		left: 24px;
		right: 24px;
		transform: translateY(-50%);
		font-size: clamp(22px, 6vw, 32px);
		letter-spacing: 4px;
		line-height: 1.5;
	}

	/* --- 共通：改行の出し分け --- */
	.br-pc { display: none; }
	.br-sp { display: inline; }

	/* --- お知らせ + 資源セクション --- */
	.resource__stage {
		width: 100%;
		height: auto;
		padding: 32px 24px 48px;
	}
	.resource__line { display: none; }
	.resource__news {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 14px;
		text-align: center;
		margin-bottom: 16px;
		background: #fff;
		padding: 8px 12px;
		border-radius: 4px;
	}
	.resource__caution {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 13px;
		text-align: left;
		background: #fff;
		padding: 12px;
		border-radius: 4px;
		margin-bottom: 32px;
	}
	.resource__caution p + p { margin-top: 8px; }
	.resource__caution-sub { padding-left: 0; }
	.resource__img {
		position: static;
		width: 100%;
		height: auto;
		margin-bottom: 24px;
	}
	.resource__layer--1,
	.resource__layer--2 { display: none; }
	.resource__title {
		position: static;
		white-space: normal;
		font-size: 20px;
		color: #1E1E1E;
		text-align: center;
		margin-bottom: 12px;
	}
	.resource__lead {
		position: static;
		font-size: 15px;
		color: #1E1E1E;
		text-align: center;
		margin-bottom: 24px;
	}
	.resource__sdgs {
		position: static;
		display: block;
		width: 240px;
		height: auto;
		margin: 0 auto 20px;
	}
	.resource__btn {
		position: static;
		width: 100%;
		max-width: 300px;
		height: 60px;
		margin-inline: auto;
	}

	/* --- 取扱廃プラ品目 --- */
	.products { height: auto; }
	.products__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px 48px;
	}
	.products__title {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 20px;
		text-align: center;
		margin-bottom: 12px;
	}
	.products__lead {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 14px;
		margin-bottom: 28px;
	}
	.products__bar { display: none; }
	.pcard {
		position: static;
		width: 100%;
		height: auto;
		padding: 20px 16px;
		margin-bottom: 16px;
	}
	.pcard h3 {
		margin-top: 0;
		font-size: 18px;
	}
	.pcard p {
		margin-top: 8px;
		font-size: 14px;
	}
	.products__btn {
		position: static;
		width: 100%;
		max-width: 300px;
		height: 60px;
		padding-left: 0;
		margin: 24px auto 0;
		font-size: 16px;
	}
	.products__note {
		position: static;
		width: 100%;
		height: auto;
		padding: 16px;
		margin-top: 32px;
	}
	.products__note-title {
		display: block;
		padding: 0;
		font-size: 16px;
		text-align: center;
	}
	.products__note-sub {
		padding-left: 0;
		margin-top: 8px;
		font-size: 13px;
		text-align: center;
	}

	/* --- サービス概要 --- */
	.lower__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px 48px;
	}
	.ov__img {
		position: static;
		width: 100%;
		height: auto;
		margin-bottom: 24px;
	}
	.ov__layer--1,
	.ov__layer--2 { display: none; }
	.ov__title {
		position: static;
		white-space: normal;
		font-size: 20px;
		color: #1E1E1E;
		text-align: center;
		margin-bottom: 12px;
	}
	.ov__lead {
		position: static;
		font-size: 15px;
		color: #1E1E1E;
		text-align: center;
		margin-bottom: 24px;
	}
	.ov__btn {
		position: static;
		width: 100%;
		max-width: 300px;
		height: 60px;
		padding-left: 0;
		margin: 0 auto 48px;
		font-size: 16px;
	}

	/* --- SERVICE 01 / 02 --- */
	.svc__band { display: none; }
	.svc__wrap {
		display: block;
		position: relative;
		margin: 0 -24px 48px;
		padding: 32px 24px;
		background: linear-gradient(90deg, rgba(0,191,147,.3) 0%, rgba(0,177,219,.3) 100%);
	}
	.svc__en {
		position: static;
		font-size: 32px;
		text-align: center;
		margin-bottom: 8px;
	}
	.svc__card {
		position: static;
		width: 100%;
		height: auto;
		padding: 24px 20px;
		margin-bottom: 32px;
		background: #FFF;
	}
	.svc__card h3 {
		margin-top: 0;
		font-size: 18px;
	}
	.svc__card > p {
		margin-top: 8px;
		font-size: 15px;
	}
	.svc__btn {
		width: 100%;
		max-width: 240px;
		margin: 20px auto 0;
	}

	/* --- よくある質問バナー --- */
	.faqb__bg { display: none; }
	.faqb__img {
		position: static;
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}
	.faqb__title {
		position: static;
		white-space: normal;
		font-size: 20px;
		color: #1E1E1E;
		text-align: center;
		margin-bottom: 12px;
	}
	.faqb__lead {
		position: static;
		font-size: 15px;
		color: #1E1E1E;
		text-align: center;
		margin-bottom: 20px;
	}
	.faqb__btn {
		position: static;
		width: 100%;
		max-width: 300px;
		height: 60px;
		padding-left: 0;
		margin: 0 auto 48px;
		font-size: 16px;
	}

	/* --- コンタクトバナー --- */
	.ctab {
		position: static;
		width: 100%;
		height: auto;
		padding: 24px 20px 28px;
	}
	.ctab__lead {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 18px;
		margin-bottom: 20px;
	}
	.ctab__btn {
		position: static;
		width: 100%;
		max-width: 300px;
		margin: 0 auto 12px;
	}
	.ctab__btn--tel,
	.ctab__btn--mail { left: auto; }

	/* =====================================================
	   共通：フッター
	   ===================================================== */
	.site-footer { height: auto; }
	.site-footer__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px;
		text-align: center;
	}
	.site-footer__logo {
		position: static;
		display: block;
		width: 188px;
		height: auto;
		margin: 0 auto 12px;
	}
	.site-footer__catch {
		position: static;
		text-align: center;
		margin-bottom: 16px;
	}
	.site-footer__address {
		position: static;
		text-align: center;
		margin-bottom: 24px;
	}
	.site-footer__nav-main,
	.site-footer__nav-sub { display: none; }
	.site-footer__copy {
		position: static;
		text-align: center;
		margin: 0;
	}

	/* =====================================================
	   02-COMPANY
	   ===================================================== */

	/* --- 代表挨拶 --- */
	.cmp__stage {
		width: 100%;
		height: auto;
		padding: 0 24px 48px;
	}
	.cmp__greet-bg { display: none; }
.cmp__greet-wrap {
		display: block;
		position: relative;
		margin: 0 -24px 48px;
		padding: 34px 24px 40px;
		background: linear-gradient(90deg, rgba(0,191,147,.3) 0%, rgba(0,177,219,.3) 100%);
	}
	.cmp__greet-title {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 20px;
		padding-top: 0;
		margin-bottom: 24px;
	}
	.cmp__greet-body {
		position: static;
		transform: none;
		width: 100%;
		font-size: 14px;
		line-height: 1.8;
		text-align: left;
		margin-bottom: 0;
	}
	.cmp__greet-body p { margin-bottom: 1.4em; }
	.cmp__greet-body br { display: none; }
	.cmp__greet-name { text-align: right; }

	/* --- SDGs --- */
	.cmp__sdgs-logo {
		position: static;
		display: block;
		width: 240px;
		height: auto;
		margin: 48px auto 16px;
	}
	.cmp__sdgs-line {
		position: static;
		display: block;
		width: 100%;
		margin-bottom: 12px;
	}
	.cmp__sdgs-title {
		position: static;
		white-space: normal;
		font-size: 20px;
		text-align: center;
		margin-bottom: 12px;
	}
	.cmp__sdgs-lead {
		position: static;
		font-size: 14px;
		text-align: center;
		margin-bottom: 20px;
	}
	.cmp__sdgs-lead br { display: none; }
	.cmp__sdgs-icons {
		display: flex;
		justify-content: center;
		gap: 54px;
	}
	.cmp__sdgs-icon {
		position: static;
		width: 120px;
		height: 120px;
	}
	.cmp__sdgs-icon--12,
	.cmp__sdgs-icon--17 { left: auto; }

	/* --- リサイクルの仕組み（SP画像） --- */
	.cmp__recycle,
	.cmp__note { display: none; }
	.cmp__recycle-sp {
		display: block;
		position: static;
		width: 100%;
		max-width: 569px;
		height: auto;
		margin: 32px auto 0;
	}

	/* --- 沿革 --- */
	.hist__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px 48px;
	}
	.hist__title {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 20px;
		margin-bottom: 28px;
	}
	.hist__dot,
	.hist__line { display: none; }
	.hist__year {
		position: static;
		white-space: normal;
		font-size: 14px;
		margin-bottom: 4px;
	}
	.hist__txt {
		position: static;
		font-size: 14px;
		line-height: 1.7;
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: 1px solid rgba(45,122,78,.2);
	}
	.hist__txt--5 { border-bottom: none; }

/* =====================================================
	   共通：コンタクトバナー
	   ===================================================== */
	.ctas__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px;
	}
	.ctas__stage .ctab {
		position: static;
		transform: none;
		width: 100%;
		height: auto;
		padding: 24px 20px 28px;
	}

/* =====================================================
	   03-SERVICE
	   ===================================================== */

	/* --- 資源循環の仕組み --- */
	.cycle { height: auto; }
	.cycle__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px 48px;
	}
	.cycle__title {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 18px;
		text-align: center;
		margin-bottom: 20px;
	}
	.cycle__sdgs {
		position: static !important;
		transform: none;
		display: block;
		width: 240px;
		height: auto;
		margin: 0 auto 28px;
	}
	.cycle__steps {
		position: static;
		transform: none;
		display: block;
		width: 100%;
	}
	.cstep {
		padding: 20px 18px;
		margin-bottom: 8px;
	}
	.cstep h3 {
		font-size: 18px;
		margin-bottom: 8px;
	}
.cstep p {
		font-size: 14px;
		text-align: center;
	}
	.cstep__arrow {
		transform: rotate(90deg);
		margin: 4px 0 12px;
	}

	/* --- 廃プラ買取事業 --- */
	.biz1 { height: auto; }
	.biz1__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px 48px;
	}
	.biz1__title {
		position: static;
		transform: none;
		white-space: normal;
		font-size: 24px;
		margin-bottom: 28px;
	}
	.biz1__img {
		position: static;
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}
	.biz1__head {
		position: static;
		white-space: normal;
		font-size: 20px;
		text-align: center;
		margin-bottom: 12px;
	}
	.biz1__txt {
		position: static;
		font-size: 14px;
		text-align: center;
		margin-bottom: 24px;
	}
	.biz1__btn {
		position: static;
		justify-content: center;
		width: 100%;
		max-width: 300px;
		height: 56px;
		padding-left: 0;
		margin-inline: auto;
	}

	/* --- 新品フレコンバッグ販売事業 --- */
	.biz2__stage {
		width: 100%;
		height: auto;
		padding: 40px 24px 48px;
	}
	.biz2__img {
		position: static;
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}
	.biz2__head {
		position: static;
		white-space: normal;
		font-size: 20px;
		text-align: center;
		margin-bottom: 12px;
	}
	.biz2__txt {
		position: static;
		font-size: 14px;
		text-align: center;
		margin-bottom: 24px;
	}
	.biz2__btn {
		position: static;
		justify-content: center;
		width: 100%;
		max-width: 300px;
		height: 56px;
		padding-left: 0;
		margin-inline: auto;
	}

	/* セクション間の余白 */
	.biz__gap { height: 24px; }

/* =====================================================
	   04-SERVICE01
	   ===================================================== */

	/* --- 選ばれる理由 --- */
	.reasons .sec-heading { font-size: 20px; }
	.reasons__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 28px;
	}
	.reason {
		width: 100%;
		height: auto;
		padding: 20px 16px;
	}
	.reason p { font-size: 14px; }

    .reasons__statement {
		font-size: 20px;
		margin-top: 32px;
	}
	/* --- 取扱廃プラ品目一覧 --- */
	.items { padding-bottom: 48px; }
	.items .sec-heading { font-size: 20px; }
	.items__grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px 12px;
		margin-top: 28px;
	}
	.item figcaption {
		height: auto;
		min-height: 44px;
		font-size: 12px;
		padding: 6px 4px;
		line-height: 1.4;
	}
	.item:last-child figcaption { font-size: 11px; }
	.items__notes {
		width: 100%;
		margin-top: 32px;
	}
	.items__notes p {
		font-size: 14px;
		margin-bottom: 10px;
	}
	.items__notes-lead {
		font-size: 15px;
		margin-top: 24px !important;
	}

	/* ミニCTA */
	.mini-cta {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		margin-top: 32px;
	}
	.mini-cta a.cta-btn {
		width: 100%;
		max-width: 300px;
	}

	/* --- 買取の流れ --- */
	.buyflow .sec-heading { font-size: 20px; }
	.buyflow__steps {
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 28px;
	}
	.bstep {
		padding: 16px 20px;
	}
	.bstep h3 { font-size: 17px; }
	.bstep p {
		font-size: 14px;
		margin-bottom: 0;
	}
	.bstep__arrow {
		transform: rotate(90deg);
		padding: 8px 0;
	}

/* --- 有価・逆有償の判断基準 --- */
	.criteria .sec-heading { font-size: 20px; }
	.criteria__list { margin-top: 24px; }
	.criteria__list li {
		font-size: 14px;
		line-height: 1.8;
		padding-left: 20px;
		margin-bottom: 14px;
	}
	.criteria__list li::before {
		width: 9px;
		height: 9px;
	}
	.criteria__note {
		font-size: 13px;
		line-height: 1.8;
		margin-top: 16px;
	}
	.criteria__lead {
		font-size: 15px;
		margin-top: 24px;
	}

	/* --- 対応エリア --- */
	.area .sec-heading { font-size: 20px; }
	.area__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.area__main {
		font-size: 15px;
		margin: 16px 0 10px;
	}
	.area__note { font-size: 13px; }
	.area__figs {
		grid-template-columns: 1fr;
		gap: 28px;
		margin-top: 32px;
	}
	.area__figs figcaption {
		font-size: 13px;
		margin-top: 10px;
	}

	/* --- 導入事例・お客様の声 --- */
	.voices .sec-heading { font-size: 20px; }
	.voices__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 28px;
	}
	.voice { padding: 20px 18px; }
	.voice__title {
		font-size: 15px;
		margin: 12px 0 10px;
	}
	.voice__body { font-size: 13px; }

/* --- 有価・逆有償の判断基準 --- */
	.criteria .sec-heading { font-size: 20px; }
	.criteria__list { margin-top: 24px; }
	.criteria__list li {
		font-size: 14px;
		line-height: 1.8;
		padding-left: 20px;
		margin-bottom: 14px;
	}
	.criteria__list li::before {
		width: 9px;
		height: 9px;
	}
	.criteria__note {
		font-size: 13px;
		line-height: 1.8;
		margin-top: 16px;
	}
	.criteria__lead {
		font-size: 15px;
		margin-top: 24px;
	}

	/* --- 対応エリア --- */
	.area .sec-heading { font-size: 20px; }
	.area__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.area__main {
		font-size: 15px;
		margin: 16px 0 10px;
	}
	.area__note { font-size: 13px; }
	.area__figs {
		grid-template-columns: 1fr;
		gap: 28px;
		margin-top: 32px;
	}
	.area__figs figcaption {
		font-size: 13px;
		margin-top: 10px;
	}

	/* --- 導入事例・お客様の声 --- */
	.voices .sec-heading { font-size: 20px; }
	.voices__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 28px;
	}
	.voice { padding: 20px 18px; }
	.voice__title {
		font-size: 15px;
		margin: 12px 0 10px;
	}
	.voice__body { font-size: 13px; }



/* --- ご購入方法：共通 --- */
	.buy { margin-top: 0; }
	.buy .buy__title {
		margin: 0 0 24px !important;
		padding-top: 40px;
		font-size: 20px;
	}

/* =====================================================
	   05-SERVICE02
	   ===================================================== */

	/* --- フレコンバッグとは？ --- */
	.flecon-about__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.flecon-about__media {
		max-width: 280px;
		margin-inline: auto;
	}
	.flecon-about__body .sec-heading {
		font-size: 20px;
		text-align: center;
	}
	.flecon-about__body p {
		font-size: 14px;
		line-height: 1.8;
	}
	.flecon-about__spec {
		justify-content: center;
		gap: 8px;
		margin: 20px 0 12px;
	}
	.flecon-about__spec span {
		font-size: 13px;
		padding: 4px 14px;
	}
	.flecon-about__price {
		display: block;
		width: fit-content;
		margin-inline: auto;
		font-size: 18px;
	}

	/* --- 3つの特長 --- */
	.flecon-feat__grid {
		grid-template-columns: 1fr;
		gap: 28px;
		max-width: 400px;
		margin-inline: auto;
	}
	.ffeat h3 {
		font-size: 18px;
		margin-bottom: 12px;
	}
	.ffeat figcaption {
		font-size: 13px;
		margin-top: 10px;
	}

	/* --- 価格（五角形を解除） --- */
	.price::before {
		width: 100%;
		height: 100%;
		clip-path: none;
	}
	.price > .container {
		height: auto;
		padding-bottom: 40px;
	}
	.price .sec-heading {
		font-size: 20px;
		padding-top: 40px;
	}
	.price .sec-lead {
		width: 100%;
		font-size: 14px;
		text-align: center;
	}

	/* 緑カード：絶対配置を解除 */
	.price .price__box {
		width: 100%;
		height: auto;
		padding: 20px 18px 24px;
		margin-top: 24px;
	}
	.price .price__box .price__tag {
		position: static;
		width: 150px;
		height: 26px;
		margin-bottom: 16px;
	}
	.price .price__box .price__value {
		position: static;
		width: 100%;
		font-size: 44px;
		margin-bottom: 12px;
	}
	.price .price__box .price__value strong { font-size: 44px; }
	.price .price__box .price__value span { font-size: 18px; }
	.price .price__box .price__note {
		position: static;
		font-size: 11px;
		line-height: 1.6;
		margin-bottom: 16px;
	}
	.price .price__box .price__set {
		position: static;
		font-size: 24px;
	}
	.price .price__box .price__set span { font-size: 14px; }
	.price .price__ship {
		font-size: 14px;
		margin-top: 16px;
	}

/* --- ご購入方法：共通 --- */
	.buy { margin-top: 0; }
	.buy .buy__title {
		margin: 0 0 24px !important;
		padding-top: 40px;
		font-size: 20px;
	}

	/* 3ブロック共通：固定幅・固定高を解除 */
	.buy .buy-method--mint,
	.buy .buy-method--cyan,
	.buy .buy-method--cyan2 {
		width: 100%;
		height: auto;
		margin: 0 0 32px;
		padding: 0 24px 40px;
	}
	.buy .buy-method--mint > .container,
	.buy .buy-method--cyan > .container,
	.buy .buy-method--cyan2 > .container {
		padding: 0;
	}
	.buy .buy-method--mint { padding-top: 40px; }
	.buy .buy-method--cyan { padding-top: 40px; }
	.buy .buy-method--cyan2 { padding-top: 40px; }

	/* 見出し */
	.buy .buy-method__head {
		font-size: 18px;
		margin-bottom: 24px;
	}
	.buy .buy-method__head img {
		width: 36px;
		height: auto;
	}
	.buy .buy-method--cyan .buy-method__head img,
	.buy .buy-method--cyan2 .buy-method__head img {
		width: 36px;
		height: auto;
		margin-top: 0;
	}

	/* ステップ：縦積み */
	.buy .buy-method__steps {
		flex-direction: column;
		gap: 0;
	}
	.buy .buy-method__steps .bmstep {
		width: 100%;
		height: auto;
		padding: 16px 18px;
	}
	.buy .buy-method__steps .bmstep__no { font-size: 20px; }
	.buy .buy-method__steps .bmstep p { font-size: 14px; }
	.buy .buy-method__steps .bmstep__arrow {
		width: 24px;
		height: 28px;
		margin: 10px auto;
		transform: rotate(90deg);
	}

	/* ボタン */
	.buy .buy-method__btn { margin-top: 28px; }
	.buy .buy-method__btn .btn {
		width: 100%;
		max-width: 300px;
		height: 64px;
		font-size: 15px;
	}

	/* FAX番号・案内文 */
	.buy .buy-method--mint .buy-method__lead {
		margin-top: 24px;
		font-size: 14px;
	}
	.buy .buy-method--cyan .buy-method__fax {
		margin-top: 24px;
		font-size: 24px;
	}
	.buy .buy-method--cyan .buy-method__lead {
		margin-top: 16px;
		font-size: 14px;
	}

	/* 現地で直接購入：白カード */
	.buy .buy-method__onsite {
		width: 100%;
		height: auto;
		padding: 20px 18px;
	}
	.buy .buy-method__onsite p {
		font-size: 14px;
		line-height: 1.8;
	}

	/* コンタクトバナー前の余白 */
	.buy + .ctas { margin-top: 40px; }

/* =====================================================
	   06-FAQ
	   ===================================================== */
	.faq-item {
		padding: 18px 16px;
		margin-bottom: 14px;
	}
	.faq-item__q {
		padding-left: 36px;
		font-size: 15px;
	}
	.faq-item__a {
		padding-left: 36px;
		margin-top: 12px;
	}
	.faq-item__q::before,
	.faq-item__a::before {
		width: 24px;
		height: 24px;
		border-radius: 12px;
		font-size: 13px;
	}
	.faq-item__a p {
		font-size: 13px;
		line-height: 1.8;
	}
	.faq-item__a br { display: none; }

	.faq__other { margin-top: 32px; }
	.faq__other a {
		width: 100%;
		max-width: 560px;
		height: auto;
		min-height: 64px;
		padding: 14px 18px;
		font-size: 14px;
		line-height: 1.6;
	}

/* =====================================================
	   07-CONTACT
	   ===================================================== */

	/* --- 上部アクションカード --- */
	.contact__actions {
		width: 100%;
		height: auto;
		padding: 32px 24px 0;
	}
	.contact__act {
		position: static;
		width: 100%;
		max-width: 397px;
		height: auto;
		padding: 16px 12px 18px;
		margin: 0 auto 16px;
	}
	.contact__act--tel,
	.contact__act--mail { left: auto; }
	.contact__act-label {
		margin-top: 0;
		font-size: 13px;
	}
	.contact__act--tel .contact__act-main {
		margin-top: 4px;
		font-size: 28px;
	}
	.contact__act--mail .contact__act-main {
		margin-top: 4px;
		font-size: 22px;
	}

	/* --- フォーム --- */
	.contact { padding-bottom: 40px; }
	.form-heading--plain {
		margin-top: 32px;
		margin-bottom: 20px;
		font-size: 18px;
	}
	.form-wrap { padding: 20px 16px; }
	.mkform__grid { grid-template-columns: 1fr; gap: 18px; }
	.mkform label,
	.wpcf7 label {
		flex-wrap: wrap;
		white-space: normal;
		font-size: 13px;
	}
	.note {
		flex-basis: 100%;
		margin-top: 2px;
	}
	.mkform__policy {
		font-size: 13px;
		line-height: 1.7;
		margin-top: 24px;
	}
	.mkform__submit { margin-top: 28px; }
	.mkform__submit .btn,
	.wpcf7 .mkform__submit input[type="submit"],
	.wpcf7 .mkform__submit .wpcf7-submit {
		width: 100%;
		max-width: 280px;
	}

/* =====================================================
	   09-PRIVACY
	   ===================================================== */
	.privacy__intro {
		font-size: 14px;
		line-height: 1.9;
		margin-bottom: 28px;
	}
	.privacy__item {
		padding: 20px 0;
	}
	.privacy__item h2 {
		font-size: 16px;
		line-height: 1.6;
		margin-bottom: 10px;
	}
	.privacy__item p {
		font-size: 13px;
		line-height: 1.9;
	}
	.privacy__window {
		padding: 20px 18px;
		margin-top: 32px;
	}
	.privacy__window h3 {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.privacy__window p {
		font-size: 13px;
		line-height: 1.9;
	}

}

/* =========================================================
   SP：フォーム入力欄 16px（iOS Safari のズーム防止）
   ========================================================= */
@media (max-width: 767px) {
	.mkform input,
	.mkform select,
	.mkform textarea,
	.wpcf7 input[type="text"],
	.wpcf7 input[type="email"],
	.wpcf7 input[type="tel"],
	.wpcf7 input[type="number"],
	.wpcf7 input[type="url"],
	.wpcf7 input[type="date"],
	.wpcf7 select,
	.wpcf7 textarea {
		font-size: 16px;
	}
}

/* =========================================================
   reCAPTCHA バッジ非表示
   ========================================================= */
.grecaptcha-badge {
	visibility: hidden;
}