/*
Theme Name:   updaters
Description:  UPDATERS公式テーマは、株式会社updatersの公式テーマです。WordPressのカスタマイズや開発に役立つ機能を提供します。
Author:       株式会社updaters
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  updaters
Domain Path:  /languages
*/
/* =========================================================
   Root（カラー等のみ：スペース用トークンは不使用）
   ========================================================= */
:root {
	/* Colors */
	--color-text-wh: #fff;
	--color-text-bk: #333;
	--color-bg-wh: #fff;
	--color-bg-bk: #333;
	--color-gray: #F7F7F7;
	--color-main: #BF000A;
	--color-submain: #8C0008;
	--color-back: #F7F1F1;
	--color-yel: #FFE83A;
	--color-red: #BF000A;
	--color-grad: linear-gradient(270deg, #8C0008 0%, #BF000A 100%);
	/* 互換用 */
	--txt: var(--color-text-bk);
	--color-text: var(--color-text-bk);
	--color-bg: var(--color-bg-wh);
	/* 既存ブレイクポイント（参照があるため残す） */
	--bp-sm: 576px;
	--bp-md: 768px;
	--bp-lg: 1024px;
	--bp-xl: 1200px;
}

/* =========================================================
   Reset & Base
   ========================================================= */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:where(article, aside, div, figure, figcaption,
	footer, header, hgroup, main, nav, section, summary) {
	display: block;
}

:where(html) {
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 100%;
	line-height: 1.75;
	background: #fff;
}

/* 本文ベースをfluid化（14→16px程度） */
html {
	font-size: clamp(14px, 1.25vw, 16px);
	line-height: 1.75;
}

body {
	margin: 0;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	font-size: 1rem;
	color: var(--color-text-bk);
	background-color: #fff;
}
main {
    padding-top: clamp(68px, 1.25vw, 65px);
}
:where(h1, h2, h3, h4, h5, h6, p, blockquote, pre) {
	margin: 0;
}

address {
	font-style: normal;
}

p + p {
	margin-top: clamp(10px, 1.8vw, 16px);
}

strong {
	font-weight: bold;
}

:where(figure) {
	line-height: 0;
	margin: 0;
}

figcaption {
	display: none;
}

:where(ul) {
	margin: 0;
	padding: 0;
	list-style: disc;
}

:where(ol) {
	margin: 0;
	padding: 0;
	list-style: auto;
}

:where(ol, ul) {
	padding-left: clamp(16px, 4vw, 24px);
}

:where(li) {
	margin: clamp(2px, 0.6vw, 4px) 0;
}

:where(img, picture, video, canvas, svg) {
	display: block;
	max-width: 100%;
	height: auto;
}

:where(table) {
	border-collapse: collapse;
	width: 100%;
}

:where(th, td) {
	text-align: left;
	padding: 0.5em;
}

:where(a) {
	color: inherit;
	text-decoration: none;
}

:where(a:hover, a:focus) {
	opacity: .8;
	transition: opacity .2s ease;
}

:where(button, input, select, textarea) {
	font: inherit;
	line-height: inherit;
	border: none;
	background: none;
}

button {
	cursor: pointer;
}

input:focus, button:focus, select:focus, textarea:focus {
	outline: 2px solid var(--color-main);
	outline-offset: 2px;
}

/* 誤字修正 */
:where(abbr, dfn, mark, small) {
	font-style: normal;
	font-weight: normal;
}

/* Gutenberg */
.wp-block {
	margin-bottom: 1.5em;
}

.alignwide, .alignfull {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

/* Misc */
hr {
	border: none;
	height: 0;
	overflow: visible;
}

blockquote, q {
	quotes: none;
}

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

[hidden] {
	display: none !important;
}

/* =========================================================
   サイド（固定SNS）
   ========================================================= */
.floating-sns {
	display: flex;
	align-items: center;
	gap: 10px;
	position: fixed;
	right: -90px;
	top: 60%;
	z-index: 99;
	transform: rotate(90deg) translate(-50%, -50%);
}

.floating-sns p {
	line-height: 1;
	font-family: "Cormorant", serif;
}

.floating-border {
	width: 40px;
	height: 1px;
	background: var(--txt);
}

.floating-sns-con {
	display: flex;
	gap: 10px;
	align-items: center;
}

.floating-sns-con a {
	width: 30px;
	display: block;
	line-height: 0;
	transform: rotate(-90deg);
}

@media (width <=1000px) {
	.floating-sns {
		display: none;
	}
}

/* =========================================================
   Utilities / Layout Helpers
   ========================================================= */
.sp {
	display: none !important;
}

.pc {
	display: block !important;
}

@media (width <=1399px) {
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}
}

.l-innerWidth {
	max-width: 1300px;
	padding-left: clamp(16px, 5vw, 50px);
	padding-right: clamp(16px, 5vw, 50px);
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 99;
}

.l-sectionHeight {
	padding-top: clamp(40px, 8vw, 68px);
	padding-bottom: clamp(80px, 8vw, 100px);
}

.img-maru {
	border-radius: 10px;
	overflow: hidden;
}

.seo-hidden {
	display: none !important;
}

.margin-top-20 {
	margin-top: clamp(20px, 3.2vw, 30px);
}

/* =========================================================
   固定ページ共通：ページタイトル
   ========================================================= */
.page-ttl-wrap {
	background: var(--color-main);
	padding-top: clamp(40px, 4vw, 50px);
	padding-bottom: clamp(40px, 4vw, 50px);
}

.page-ttl {
	position: relative;
	display: flex;
	align-items: center;
	gap: clamp(20px, 3.2vw, 30px);
}

.page-ttl h1 {
	position: relative;
	font-size: clamp(28px, 4vw, 36px);
	letter-spacing: 0.125em;
	line-height: 1;
	font-weight: 600;
	color: var(--color-text-wh);
}

@media (width <=1000px) {
	.page-ttl {
		position: relative;
		gap: clamp(10px, 2.2vw, 30px) clamp(10px, 2.2vw, 30px);
		flex-direction: column;
		align-items: center;
	}

	.page-ttl h1 {
		font-size: clamp(28px, 5.5vw, 32px);
	}
}

/* コンテンツ内見出し */
.page-ttl02 h2 {
	font-size: clamp(24px, 3.2vw, 36px);
	line-height: 1;
	letter-spacing: 0.125em;
}

.page-ttl02 p {
	margin-top: clamp(4px, .6vw, 5px);
	font-size: clamp(14px, 2vw, 18px);
	line-height: 1;
}

.page-ttl03 h2 {
	font-size: clamp(24px, 3.2vw, 32px);
	line-height: 1;
	padding-bottom: clamp(10px, 1.6vw, 10px);
	margin-bottom: clamp(30px, 5vw, 40px);
	border-bottom: 3px solid var(--color-gray);
	position: relative;
}

.page-ttl03 h2::before {
	position: absolute;
	content: "";
	width: clamp(50px, 15vw, 150px);
	height: 3px;
	background: var(--color-main);
	bottom: -3px;
	left: 0;
}

/* =========================================================
   サイト内ナビ
   ========================================================= */
.page-nav {
	text-align: center;
	margin-bottom: clamp(24px, 4.8vw, 30px);
}

.page-nav.l-sectionHeight {
	padding-bottom: clamp(24px, 4.8vw, 30px);
}

.page-nav ul {
	display: flex;
	flex-wrap: wrap;
	column-gap: clamp(10px, 3.2vw, 20px);
	list-style: none;
	padding-left: 0;
}

.page-nav .btn02 {
	padding: clamp(9px, 1.4vw, 12px) clamp(40px, 6vw, 40px) clamp(7px, 1.2vw, 10px) clamp(10px, 4vw, 20px);
	min-width: clamp(100px, 18vw, 160px);
	filter: drop-shadow(0 0 0 rgba(12, 28, 32, 0));
	border: 1px solid #ccc;
}

.page-nav .btn02-txt {
	font-weight: 400;
	font-size: clamp(12px, 1.8vw, 16px);
}

.page-nav .btn02-arrow {
	width: 26px;
	height: 26px;
}

.common-page .wp-block-image {
    margin-top: 0;
}

/* =========================================================
   ボタン
   ========================================================= */
.btn-left {
	display: flex;
	justify-content: flex-start;
}

.btn-right {
	display: flex;
	justify-content: flex-end;
}

.btn-center {
	display: flex;
	justify-content: center;
}

.btn01 {
	display: flex;
	align-items: center;
	color: var(--color-text-bk);
	position: relative;
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, .1));
}

.btn01-arrow {
	position: relative;
	margin-left: clamp(16px, 2.6vw, 20px);
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-bg-bk);
	border-radius: 50px;
}

.white .btn01-txt {
	color: var(--color-text-wh);
}

.white .btn01-arrow {
	border: 1px solid var(--color-bg-wh);
}

.btn02 {
	text-align: center;
	color: var(--color-text-wh);
	display: inline-block;
	background: var(--color-main);
	line-height: 1;
	padding: clamp(12px, 2.1vw, 16px) clamp(50px, 6vw, 60px) clamp(10px, 1.8vw, 14px) clamp(30px, 4vw, 40px);
	min-width: clamp(140px, 22vw, 200px);
	position: relative;
	border-radius: 50px;
	filter: drop-shadow(1px 2px 2px rgba(12, 28, 32, .3));
}

.btn02-arrow {
	position: absolute;
	top: 50%;
	right: 5px;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-bg-wh);
	border-radius: 50px;
	transform: translate(0, -50%);
}

.btn02-txt {
	font-size: clamp(16px, 2.1vw, 18px);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.btn02.white {
	background: var(--color-bg-wh);
	color: var(--color-text-bk);
}

.btn02.white .btn02-arrow {
	background: var(--color-main);
}

a.btn03 {
	position: relative;
	border-radius: 50px;
	filter: drop-shadow(0 0 6px rgba(12, 28, 32, .2));
}

a.btn03::before {
	position: absolute;
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 50px;
	background: #fff;
	top: 50%;
	right: 10px;
	transform: translate(0, -50%);
	z-index: 98;
}

a.btn03::after {
	position: absolute;
	content: "";
	width: 14px;
	height: 8px;
	background: url(images/arrow.svg) no-repeat center/100%;
	top: 50%;
	right: 18px;
	transform: translate(0, -50%);
	z-index: 99;
}

a.btn03 p {
	color: #fff;
	display: inline-block;
	background: #5B5953;
	padding: clamp(10px, 2vw, 15px) 80px clamp(9px, 1.8vw, 14px) clamp(40px, 5vw, 50px);
	position: relative;
	border-radius: 50px;
}

@media (width <=1000px) {
	.btn-02-wrap {
		margin-top: clamp(16px, 3.2vw, 20px);
	}

	a.btn03::before {
		width: 25px;
		height: 25px;
		right: 6px;
	}

	a.btn03::after {
		width: 12px;
		height: 6px;
		right: 13px;
	}

	a.btn03 p {
		padding: clamp(10px, 2vw, 12px) 80px clamp(9px, 1.6vw, 11px) clamp(30px, 4vw, 40px);
	}
}

/* =========================================================
   PARTS｜CONTACT
   ========================================================= */
.parts-btn-contact-wrap {
	background: var(--color-main);
	color: #fff;
	padding: clamp(60px, 8vw, 100px) clamp(40px, 6vw, 60px) clamp(60px, 8vw, 100px) 0;
	border-left: clamp(10px, 8vw, 120px) solid var(--color-submain);
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1;
}

.parts-btn-contact-txt {
	margin-left: clamp(-60px, -4vw, -10px);
}

.parts-btn-contact-txt h2 {
	color: #fff;
	font-size: clamp(28px, 3.6vw, 46px);
	letter-spacing: 0.125em;
	font-weight: 700;
}

.parts-btn-contact-txt p {
	margin-top: clamp(4px, .8vw, 7px);
	letter-spacing: 0.06em;
}

@media (width <=1030px) {
	.parts-btn-contact-wrap {
		padding: clamp(30px, 7vw, 50px) 5%;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		border-left: 10px solid var(--color-submain);
		border-right: 10px solid var(--color-submain);
	}

	.parts-btn-contact-txt {
		margin-left: 0;
		margin-bottom: clamp(20px, 4.8vw, 30px);
	}

	.parts-btn-contact-txt h2 {
		font-size: clamp(24px, 5.5vw, 40px);
	}
}

/* =========================================================
   ヘッダー
   ========================================================= */
.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: clamp(18px, 1.6vw, 25px) clamp(5%, 5vw, 50px);
    width: 100%;
    background: #fff;
    position: fixed;
    z-index: 999;
    filter: drop-shadow(0 0 6px rgba(12, 28, 32, .2));
}

.header-logo {
	display: flex;
	align-items: center;
	width: clamp(60px, 8vw, 80px);
}

@media (max-width: 1399px) {
	.header {
		padding: clamp(17px, 1.4vw, 20px) 5%;
	}

	.header-logo {
		width: clamp(50px, 7vw, 60px);
	}
}

/* PCナビ */
#header-navi {
	display: flex;
	align-items: center;
}

.header-navi-list {
	display: flex;
	align-items: center;
	gap: clamp(12px, 3.2vw, 20px);
	justify-content: flex-end;
}

.header-navi-list li {
	font-weight: 700;
	cursor: pointer;
	line-height: 1;
	list-style: none;
	font-size: clamp(14px, 1.8vw, 16px);
}

.header-navi-list li a {
	color: var(--color-text-bk);
}

/* ハンバーガー */
.menu-trigger {
	position: relative;
	width: 28px;
	height: 20px;
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
	display: none;
	z-index: 1000;
}

.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--color-bg-bk);
	transition: transform .25s ease, opacity .25s ease;
}

.menu-trigger span:nth-child(1) {
	top: 0;
}

.menu-trigger span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

.menu-trigger span:nth-child(3) {
	bottom: 0;
}

.menu-trigger[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

.menu-trigger[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.menu-trigger[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(10px) rotate(-45deg);
}

@media (max-width:1399px) {
	.menu-trigger {
		display: block;
	}

	body.is-menu-open {
		overflow: hidden;
	}

	.is-menu-open .menu-trigger {
		width: 30px;
		height: 0;
	}

	#header-navi {
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		width: 75%;
		max-width: 380px;
		height: 100svh;
		padding: 100px 20px 40px;
		background: #fff;
		transform: translateX(100%);
		transition: transform .3s ease;
		z-index: 999;
		overflow-y: auto;
		box-shadow: -5px 0 15px rgba(0, 0, 0, .12);
	}

	#header-navi.is-open {
		transform: translateX(0);
	}

	.header-navi-list {
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		gap: 0;
	}

	.header-navi-list li {
		width: 100%;
	}

	.header-navi-list li a {
		width: 100%;
		text-align: left;
		padding-top: clamp(16px, 3.6vw, 20px);
		padding-bottom: clamp(14px, 3.2vw, 20px);
		border-bottom: 1px solid #ccc;
		display: block;
	}

	.header-navi-list li:first-child {
		border-top: 1px solid #ccc;
	}
}

/* =========================================================
   フッター
   ========================================================= */
footer {
	background: var(--color-submain);
	padding-top: clamp(60px, 7vw, 80px);
	color: var(--color-text-wh);
}

.footer-inner {
	padding-left: clamp(20px, 8vw, 100px);
	padding-right: clamp(20px, 8vw, 100px);
	margin: 0 auto;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
}

.footer-logo {
	display: block;
	width: clamp(100px, 10vw, 150px);
}

.footer-info {
	margin-top: clamp(16px, 2.6vw, 20px);
}

.footer-list-nav {
	display: flex;
	justify-content: space-between;
	gap: clamp(20px, 5vw, 60px);
	letter-spacing: 0.06em;
}

footer .menu-item {
	list-style: none;
	font-size: clamp(14px, 1.8vw, 16px);
	font-weight: 600;
	margin-bottom: clamp(6px, 2vw, 10px);
}

footer .sub-menu {
	padding-left: clamp(16px, 2.2vw, 25px);
}

footer .sub-menu .menu-item {
	position: relative;
	list-style-type: "ー ";
	font-weight: normal;
}

.footer-links {
	margin-top: clamp(40px, 7vw, 60px);
	text-align: center;
}

.footer-links a {
	font-size: clamp(12px, 1.6vw, 12px);
	color: var(--color-text-wh);
	display: inline-block;
	margin-bottom: clamp(3px, .8vw, 5px);
}

.footer-links a + a {
	margin-left: clamp(10px, 2.2vw, 20px);
}

footer .copyright {
	background: #0a0a0a;
	text-align: center;
	padding: 3px 0 4px;
	line-height: 1;
	color: var(--color-gray);
}

@media (width <=1000px) {
	footer {
		padding-top: clamp(60px, 8vw, 80px);
	}

	.footer-inner {
		padding-left: 5%;
		padding-right: 5%;
		flex-direction: column;
	}

	.footer-logo {
		width: clamp(80px, 18vw, 100px);
	}

	.footer-nav-wrap {
		flex-wrap: wrap;
		gap: 25px 5%;
		margin-top: clamp(40px, 8vw, 60px);
		padding-top: clamp(40px, 8vw, 60px);
		border-top: 1px solid #ccc;
	}

	.footer-list-nav {
		flex-wrap: wrap;
		padding-left: 0;
		gap: 20px 5%;
	}

	.footer-list-nav > .menu-item {
		width: calc((100% - 5%) / 2);
	}
}

/* =========================================================
   TOP 共通
   ========================================================= */
.page-top-ttl {
	margin: 0 0 clamp(30px, 6vw, 45px);
	display: flex;
	align-items: center;
}

.page-top-ttl h2 {
	color: var(--color-main);
	font-size: clamp(45px, 6vw, 60px);
	font-weight: 600;
	line-height: 1;
	padding-right: clamp(16px, 3.2vw, 20px);
}

.page-top-ttl p {
	color: var(--color-text-bk);
	font-size: clamp(16px, 2.6vw, 20px);
	line-height: 1;
}

.page-top-ttl02 {
	color: var(--color-text-wh);
	text-align: center;
}

.page-top-ttl02 h2 {
	color: var(--color-text-wh);
	font-size: clamp(45px, 6vw, 60px);
	font-weight: 600;
	line-height: 1;
	margin-top: clamp(6px, 1vw, 8px);
	filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, .25));
}

.page-top-ttl02 p {
	font-size: clamp(14px, 2vw, 16px);
	line-height: 1;
	font-weight: 600;
	filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, .25));
}

.page-top-ttl03 {
	margin-bottom: clamp(30px, 6vw, 45px);
}

.page-top-ttl03 h2 {
	color: var(--color-main);
	font-size: clamp(45px, 6vw, 60px);
	line-height: 1;
}

.page-top-ttl03 p {
	color: var(--color-text-bk);
	font-size: clamp(16px, 2.6vw, 20px);
	line-height: 1;
	margin-top: clamp(3px, .8vw, 5px);
}
@media (width <=1000px) {
    .page-top-ttl {
        flex-direction: column;
        align-items: flex-start;
    }
    .page-top-ttl p {
        margin-top: clamp(3px, .8vw, 5px);
    }
}
.txt-bigtxt {
	font-size: clamp(18px, 3.2vw, 36px);
	line-height: 1.5;
	letter-spacing: 0.06em;
	font-weight: 600;
}

.txt-bigtxt span {
	color: var(--color-red);
}

.txt-txt-wrap {
	margin-top: clamp(20px, 5vw, 30px);
}

.txt-txt + .txt-txt {
	margin-top: clamp(10px, 2.6vw, 15px);
}


/* =========================================================
   FV
   ========================================================= */
.home-fv {
    max-height: 1000px;
}

.home-fv-con {
	height: min(88svh, 88dvh);
    max-height: 1000px;
	position: relative;
	overflow: hidden;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.home-fv-con::before {
	content: "";
	position: absolute;
	width: 100px;
	height: 331px;
	top: 50%;
	left: 0;
	background: url(images/logo_gy.svg) no-repeat center/100px auto;
	transform: translate(0, -50%);
}

.home-fv-txt {
	position: relative;
	z-index: 2;
	margin-left: 15vw;
}

.home-fv-txt-main {
	font-size: clamp(24px, 2.8vw, 36px);
	line-height: 1.6;
	letter-spacing: .4px;
	font-weight: 500;
}

.home-fv-txt-main span {
	color: var(--color-main);
}

.home-fv-txt-sub {
	margin-top: clamp(20px, 4.8vw, 30px);
	display: inline-block;
	border-radius: 5px;
	line-height: 1.5;
	font-size: clamp(16px, 2.6vw, 20px);
}

.home-fv-txt-en {
	margin-top: clamp(30px, 5.5vw, 50px);
	font-size: clamp(12px, 2vw, 20px);
	font-weight: 300;
	color: var(--color-main);
	line-height: 1.3;
	letter-spacing: .20px;
}

.home-fv-img {
	width: 50%;
}

.home-fv-scroll {
	position: absolute;
	bottom: 0%;
	left: 40%;
	padding-left: 5px;
	height: 100px;
	color: var(--color-main);
	letter-spacing: .2em;
	font-size: clamp(12px, 1.6vw, 14px);
	text-align: left;
	z-index: 1;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.home-fv-scroll::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: var(--color-main);
	content: "";
}

.home-fv-scroll::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 20px;
	background: #fff;
	content: "";
	animation: 1.5s ease 0s infinite forwards animeScroll;
}

@keyframes animeScroll {
	0% {
		top: 0
	}

	100% {
		top: 80px
	}
}

@media (width <=1000px) {
	.home-fv {
		height: auto;
		max-height: 100%;
	}

	.home-fv-con {
		width: 100%;
		text-align: center;
		padding-right: 0;
		flex-direction: column;
		height: calc(100svh - 41px);
        max-height: 680px;
	}

	.home-fv-con::before {
		width: 100px;
		height: 331px;
		z-index: 1;
		top: auto;
		bottom: 0;
		left: 70%;
		background: url(images/logo_gy.svg) no-repeat center/70px auto;
		transform: translate(-50%, 0);
	}

	.home-fv-txt {
		margin-left: 0;
		margin-top: 4vh;
	}

	.home-fv-txt-main {
		font-size: clamp(20px, 5vw, 24px);
		line-height: 1.45;
		font-weight: 700;
	}

	.home-fv-txt-sub {
		display: block;
		width: 100%;
		margin: 0 auto;
		margin-top: clamp(16px, 4.8vw, 20px);
	}

	.home-fv-txt-en {
		margin: 0 auto;
		font-size: clamp(12px, 2.6vw, 12px);
		margin-top: clamp(20px, 5.5vw, 30px);
	}

	.home-fv-img {
        max-height: 50%;
		width: 60%;
		position: absolute;
		bottom: 0;
		left: 0;
		border-radius: 0 30px 0 0;
		overflow: hidden;
	}

	.home-fv-scroll {
		display: none;
	}
}

/* =========================================================
   NEWS
   ========================================================= */
#news .l-innerWidth {
	display: flex;
	justify-content: space-between;
	gap: 0;
}

.news-items-wrap {
	width: 70%;
}

@media (width <=1000px) {
	#news .l-innerWidth {
		flex-direction: column;
	}

	.news-items-wrap {
		width: 100%;
	}
}

/* =========================================================
   SERVICE
   ========================================================= */
#home-service {
	background: var(--color-grad);
}

#home-service h2, #home-service p {
	color: var(--color-text-wh);
}

.home-service-con-wrap {
	margin-top: clamp(30px, 6vw, 45px);
}

.home-service-con {
	border-top: 1px solid var(--color-bg-wh);
	padding: clamp(28px, 5.5vw, 30px) 0 clamp(28px, 5.5vw, 30px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

.home-service-con:last-child {
	border-bottom: 1px solid var(--color-bg-wh);
}

.home-service-con-txt-number {
	line-height: 1;
	font-size: clamp(24px, 2.4vw, 32px);
	width: 40px;
	padding-right: 40px;
}

.home-service-con-txt {
	line-height: 1.5;
	color: var(--color-text-wh);
	width: calc(100% - 50px - 80px);
	padding-right: 80px;
}

.home-service-con-txt dt {
	font-size: clamp(20px, 2.2vw, 28px);
	letter-spacing: .12em;
	font-weight: 600;
}

.home-service-con-txt dd {
	margin-top: clamp(5px, 1.4vw, 8px);
	font-size: clamp(14px, 2vw, 16px);
}

.home-service-con-btn {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--color-bg-wh);
	border-radius: 50%;
}

@media (width <=1000px) {
	.home-service-con-wrap {
		margin-top: clamp(20px, 5vw, 30px);
	}

	.home-service-con {
		padding: clamp(28px, 6vw, 30px) 0 clamp(26px, 5.5vw, 28px);
	}

	.home-service-con-txt-number {
		display: none;
	}

	.home-service-con-txt {
		width: calc(100% - 40px);
		padding-right: 0;
	}

	.home-service-con-txt dt {
		font-size: clamp(18px, 4.8vw, 20px);
	}

	.home-service-con-txt dd {
		margin-top: clamp(4px, 1.2vw, 5px);
		font-size: clamp(14px, 3.6vw, 14px);
	}

	.home-service-con-btn {
		width: 30px;
		height: 30px;
	}
}

/* =========================================================
   ABOUT（トップセクション）
   ========================================================= */
#home-about {
	background: var(--color-grad);
}

.home-about-con {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(60px, 8vw, 100px) clamp(8px, 1vw, 10px);
	background: url(images/about-us-bg.jpg) no-repeat center/cover;
	color: var(--color-text-wh);
	border-radius: 10px;
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, .2));
}

.home-about-con + .home-about-con {
	margin-top: clamp(20px, 4.8vw, 30px);
}

#home-recruit {
	background: var(--color-main);
}

.home-recruit-con {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(60px, 8vw, 100px) clamp(8px, 1vw, 10px);
	background: url(images/recruit-link-bg.jpg) no-repeat center/cover;
	color: var(--color-text-wh);
	border-radius: 10px;
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, .2));
}

/* デジマバナー */
.dm-banner {
	padding: clamp(60px, 8vw, 80px) 0;
}

.dm-banner-wrap {
	display: flex;
	justify-content: center;
	column-gap: clamp(20px, 4.8vw, 30px);
}

.dm-banner-wrap a {
	display: inline-block;
	width: 50%;
}

@media (width <=768px) {
	.dm-banner {
		padding: clamp(60px, 8vw, 80px) 0;
	}

	.dm-banner-wrap {
		flex-direction: column;
		gap: clamp(10px, 3.2vw, 15px) clamp(10px, 3.2vw, 15px);
	}

	.dm-banner-wrap a {
		width: 100%;
	}
}

/* =========================================================
   ABOUT 詳細
   ========================================================= */
#mvv {
	background: var(--color-bg-wh);
}

#mvv .l-sectionHeight {
	padding-top: 0;
}

.about-mvv-item + .about-mvv-item {
	margin-top: clamp(40px, 6vw, 60px);
}

.about-mvv-item-txt {
	font-size: clamp(18px, 2.2vw, 24px);
	font-weight: 600;
	color: var(--color-main);
}

ul.about-mvv-item-txt {
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 2.5;
	color: var(--color-text-bk);
}

#member {
	background: var(--color-back);
}

#member .page-ttl03 h2 {
	border-color: #ccc;
}

.about-member h3.wp-block-heading {
	margin-top: clamp(20px, 3vw, 30px);
	margin-bottom: clamp(10px, 1.5vw, 15px);
}

.about-member-txt {
	font-size: clamp(12px, 1.6vw, 12px);
	color: var(--color-main);
}

#message {
	background: var(--color-gray);
	position: relative;
	z-index: 0;
}

#message .l-sectionHeight {
	padding-bottom: clamp(120px, 10vw, 180px);
}

#message .page-ttl03 h2 {
	border-color: var(--color-back);
}

.about-message-contents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(20px, 3.2vw, 30px);
}

.about-message-ceo {
	width: 30%;
}

.about-message-ceo-name {
	margin-top: clamp(8px, 1.6vw, 10px);
}

.about-message-ceo-name span {
	color: var(--color-main);
}

.about-message-txt {
	width: calc(70% - 30px);
	line-height: 1.75;
}

.about-message-txt p:first-child {
	font-weight: 600;
}

.about-message-txt p + p {
	margin-top: clamp(16px, 3.2vw, 20px);
}

#outline {
	margin-top: clamp(-80px, -6vw, -60px);
	border-radius: 60px 60px 0 0;
	background: var(--color-grad);
	color: var(--color-text-wh);
	position: relative;
	z-index: 1;
}

.about-outline {
	display: flex;
	justify-content: space-between;
}

.about-outline-wrap {
	width: 70%;
}

.about-outline-wrap dl {
	padding: clamp(20px, 4.8vw, 40px) 0;
	border-bottom: 1px solid var(--color-back);
	display: flex;
}

.about-outline-wrap dl:first-child {
	padding-top: 0;
}

.about-outline-wrap dt {
	font-weight: bold;
	display: block;
	width: 25%;
	min-width: 170px;
}

.about-outline-wrap dd a {
	color: var(--color-text-bk);
}

#map {
	text-align: center;
}

#map h2.page-ttl01-ttl {
	color: var(--color-main);
}

#map .page-ttl01-subttl {
	color: var(--color-text-bk);
}

.about-map-wrap {
	display: flex;
	justify-content: center;
	gap: 3%;
	margin-top: clamp(20px, 4.8vw, 30px);
}

.about-map {
	width: calc((100% - 3%) / 2);
}

.map-iframe-box {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.map-iframe-box iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

@media (width <=1000px) {
	#outline {
		margin-top: clamp(-80px, -8vw, -60px);
		border-radius: 30px 30px 0 0;
	}

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

	.about-outline-wrap {
		width: 100%;
		text-align: left;
	}

	.about-outline-wrap dl {
		padding: clamp(20px, 4.8vw, 20px) 0;
		flex-direction: column;
	}

	.about-outline-wrap dl:first-child {
		border-top: 1px solid var(--color-back);
		padding-top: clamp(20px, 4.8vw, 20px);
		margin-top: clamp(20px, 4.8vw, 20px);
	}

	.about-outline-wrap dt, .about-outline-wrap dd {
		width: 100%;
	}

	.about-outline-wrap dd {
		margin-top: clamp(3px, .8vw, 5px);
	}

	.about-map-wrap {
		flex-direction: column;
		gap: clamp(20px, 5.5vw, 30px);
	}

	.about-map {
		width: 100%;
	}
}

/* オリジナル追記: CEO写真非表示を維持 */
.about-message-ceo {
	display: none;
}

.about-message-txt {
	width: 100%;
	line-height: 1.75;
}

.about-message-txt-ceo-name {
	text-align: right;
	line-height: 1.25;
}

.about-message-txt-ceo-name span {
	color: var(--color-main);
	font-size: clamp(12px, 1.6vw, 14px);
}

/* =========================================================
   事業紹介一覧
   ========================================================= */
.service {
	background: var(--color-grad) no-repeat left center / 50% auto;
}

.service-page {
	padding: clamp(60px, 8vw, 80px) clamp(30px, 6vw, 60px);
	background: var(--color-bg-wh);
	filter: drop-shadow(5px 10px 12px rgba(0, 0, 0, .05));
}

.service-concept-en {
	font-size: clamp(12px, 1.6vw, 14px);
	font-weight: 600;
	letter-spacing: .12em;
	line-height: 1;
	color: var(--color-main);
}

.service-concept-bigtxt {
	margin-top: clamp(8px, 1.6vw, 10px);
	font-size: clamp(22px, 2.2vw, 32px);
	line-height: 1;
	font-weight: 600;
	color: var(--color-text-bk);
}

.service-concept-txt {
	margin-top: clamp(16px, 3.2vw, 20px);
}

.service-contents {
	margin-top: clamp(40px, 6vw, 60px);
}

.service-contents-item {
	border-top: 1px solid #ccc;
	padding: clamp(40px, 7vw, 60px) 0;
}

.service-contents-item:last-child {
	border-bottom: 1px solid #ccc;
}

.service-contents-item-ttl {
	font-size: clamp(20px, 2.6vw, 32px);
	line-height: 1;
	font-weight: 600;
	color: var(--color-text-bk);
}

.service-contents-item-ttl-en {
	font-size: clamp(12px, 1.6vw, 14px);
	letter-spacing: .12em;
	line-height: 1;
	margin-top: clamp(6px, 1.6vw, 8px);
	color: var(--color-main);
}

.service-contents-item-main {
	display: flex;
	gap: clamp(16px, 3.2vw, 20px) clamp(16px, 3.2vw, 20px);
	margin-top: clamp(15px, 3vw, 20px);
}

.service-contents-item-main-img {
	width: 100%;
	max-width: 400px;
	position: relative;
	overflow: hidden;
	border-radius: 6px;
}

.service-contents-item-main-txt-wrap {
	width: calc(100% - 250px);
}

.service-contents-item-main-bigtxt {
	font-size: clamp(18px, 2.6vw, 20px);
	line-height: 1.5;
	font-weight: 600;
}

.service-contents-item-main-txt {
	margin-top: clamp(8px, 2vw, 10px);
}

@media (width <=1000px) {
	.service-page {
		padding: clamp(40px, 8vw, 60px) 5%;
	}

	.service-contents-item-ttl {
		font-size: clamp(20px, 5.5vw, 24px);
	}

	.service-contents-item-main {
		flex-direction: column;
		margin-top: clamp(16px, 5vw, 20px);
	}

	.service-contents-item-main-txt-wrap {
		width: 100%;
	}
}

/* =========================================================
   事業紹介 詳細
   ========================================================= */
.service-content .page-ttl-wrap {
	background: url(./images/service-road-infrastructure-top.jpg);
}

.service-pavement .page-ttl-wrap {
	background: url(./images/service-pavement-top.jpg);
}

.service-hillside .page-ttl-wrap {
	background: url(./images/service-hillside-top.jpg);
}

.service-slope-protection .page-ttl-wrap {
	background: url(./images/service-slope-protection-top.jpg);
}

.service-snow-removal .page-ttl-wrap {
	background: url(./images/service-snow-removal-top.jpg);
}

.service-content h1 {
	color: #fff;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, .2));
}

.service-content-concept-bigttx {
	font-size: clamp(22px, 2.6vw, 30px);
	color: var(--color-main);
	font-weight: 600;
}

.service-content-concept {
	margin-top: clamp(30px, 5vw, 60px);
	display: flex;
	justify-content: space-between;
	gap: clamp(20px, 3.2vw, 30px);
}

.service-content-concept-txt {
	width: 50%;
}

.service-content-concept-txt p + p {
	margin-top: clamp(16px, 3.2vw, 20px);
}

.service-content-concept-img {
	width: calc(50% - 30px);
}

.service-content-works {
	background: var(--color-gray);
	padding: clamp(60px, 7vw, 80px) clamp(30px, 5vw, 50px);
	margin-top: clamp(40px, 6vw, 60px);
}

.service-content-works .page-ttl3 h2,
.service-content-works .page-ttl03 h2 {
	font-size: clamp(24px, 2.2vw, 32px);
	padding-bottom: clamp(16px, 3vw, 20px);
	margin-bottom: clamp(24px, 4vw, 32px);
	border-bottom: 3px solid #ccc;
	position: relative;
}

.service-content-works-list ul li {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.service-content-works-list ul li + li {
	margin-top: clamp(20px, 5.5vw, 30px);
}

.service-content-works-list-item-number {
	width: calc(64px + 30px);
	font-size: clamp(40px, 5vw, 64px);
	color: var(--color-main);
	font-weight: 600;
	padding-right: 30px;
	margin-right: 30px;
	border-right: 1px solid #ccc;
}

.service-content-works-list-item-txt {
	width: calc(100% - (64px + 30px + 30px));
}

.service-content-works-list-item-txt h3 {
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 600;
}

.service-content-works-list-item-txt p {
	margin-top: clamp(6px, 1.8vw, 8px);
}

/* =========================================================
   記事ページ共通
   ========================================================= */
.post-content-main > * {
	margin-bottom: clamp(24px, 4.8vw, 30px);
}

/* ブロックエディター見出し */
h2.wp-block-heading {
	font-size: clamp(20px, 2.2vw, 24px);
	line-height: 1.5;
	color: var(--color-text-bk);
	background-color: var(--color-gray);
	padding: clamp(12px, 2.6vw, 15px) clamp(10px, 2vw, 12px) clamp(12px, 2.6vw, 12px);
	border-bottom: 1px solid var(--color-main);
	margin-top: clamp(80px, 8vw, 120px);
	margin-bottom: clamp(30px, 4vw, 40px);
}

h3.wp-block-heading {
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.25;
	color: var(--color-text-bk);
	margin-top: clamp(50px, 6vw, 60px);
	position: relative;
	padding: 2px 5px;
	border-left: solid 5px var(--color-main);
	margin-bottom: clamp(26px, 3.2vw, 32px);
}

h4.wp-block-heading {
	font-size: clamp(14px, 1.8vw, 18px);
	line-height: 1.5;
	color: var(--color-text-bk);
	padding-bottom: clamp(10px, 1.6vw, 10px);
	border-bottom: 1px solid var(--color-main);
	margin-top: clamp(24px, 3vw, 32px);
	margin-bottom: clamp(24px, 3vw, 32px);
}

h5.wp-block-heading {
	margin-top: clamp(24px, 3vw, 32px);
}

h6.wp-block-heading {
	margin-top: clamp(24px, 3vw, 32px);
}

.wp-block-list {
	margin-top: clamp(20px, 5vw, 30px);
}

.wp-block-image {
	margin-top: clamp(10px, 2.6vw, 15px);
}

figure.wp-block-embed.wp-has-aspect-ratio {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
}

figure.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper {
	position: absolute;
	inset: 0;
}

figure.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: none;
}

.wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.wp-block-gallery .wp-block-image {
	flex: 0 1 calc(33.333% - 10px);
	box-sizing: border-box;
}

.wp-block-gallery .wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
}

@media (width <=999px) {
	.wp-block-gallery .wp-block-image {
		flex: 0 1 calc(50% - 10px);
	}
}

@media (width <=480px) {
	.wp-block-gallery .wp-block-image {
		flex: 0 1 100%;
	}
}

@media (width <=999px) {
	.wp-block-column + .wp-block-column {
		margin-top: clamp(24px, 5.5vw, 30px);
	}
}

.wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 5%;
}

.wp-block-columns + .wp-block-columns {
	margin-top: clamp(40px, 6vw, 60px);
}

.wp-block-columns.has-2-columns .wp-block-column {
	flex: 0 1 calc(50% - 20px);
	box-sizing: border-box;
}

.wp-block-columns.has-3-columns .wp-block-column {
	flex: 0 1 calc(33.333% - 20px);
}

.wp-block-columns.has-4-columns .wp-block-column {
	flex: 0 1 calc(25% - 20px);
}

@media (width <=999px) {

	.wp-block-columns.has-2-columns .wp-block-column,
	.wp-block-columns.has-3-columns .wp-block-column,
	.wp-block-columns.has-4-columns .wp-block-column {
		flex: 0 1 100%;
	}
}

/* WPボタン */
.wp-block-button__link {
	margin-top: clamp(24px, 5.5vw, 30px);
	position: relative;
	display: inline-block;
	padding: clamp(12px, 2.6vw, 15px) 80px clamp(11px, 2.4vw, 14px) clamp(40px, 6vw, 50px);
	border-radius: 50px;
	filter: drop-shadow(0 0 6px rgba(12, 28, 32, .2));
	background: var(--color-main);
	color: #fff;
	line-height: 1;
}

.wp-block-button__link::before {
	position: absolute;
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	z-index: 98;
}

.wp-block-button__link::after {
	position: absolute;
	content: "";
	width: 14px;
	height: 8px;
	background: url("images/arrow.svg") no-repeat center/100%;
	top: 50%;
	right: 13px;
	transform: translateY(-50%);
	z-index: 99;
}

/* コード/表/引用 */
.wp-block-preformatted {
	margin-top: clamp(20px, 5.5vw, 30px);
	background-color: var(--color-back);
	border: 1px solid #ccc;
	border-left: 5px solid var(--color-main);
	padding: clamp(16px, 3.6vw, 20px);
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	line-height: 1.6;
	overflow-x: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}

.wp-block-table > table {
	margin-bottom: 0;
}

.wp-block-table table, .wp-block-flexible-table-block-table {
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.6;
	max-width: 100%;
	text-align: left;
	width: 100%;
}

.wp-block-table thead td, .wp-block-table thead th,
.wp-block-flexible-table-block-table thead td, .wp-block-flexible-table-block-table thead th {
	background-color: var(--thead-color--bg, var(--color-main));
	color: var(--thead-color--txt, #fff);
}

.wp-block-table td, .wp-block-table th,
.wp-block-flexible-table-block-table td, .wp-block-flexible-table-block-table th {
	background-clip: padding-box;
	border: 1px solid #dcdcdc;
	min-width: 0 !important;
	padding: 8px 12px;
	position: relative;
	vertical-align: top;
	z-index: 0;
}

.wp-block-table > table tr > :first-child:not(.-no1),
.wp-block-flexible-table-block-table tr > :first-child:not(.-no1) {
	max-width: auto;
	min-width: 0;
	width: auto;
}

.wp-block-separator {
	margin: clamp(40px, 7vw, 60px) 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 200px;
	border-top: 1px solid rgba(0, 0, 0, .3);
}

.wp-block-quote {
	padding: 1.5em 2em 1.5em 3em;
	background: var(--color-gray);
	position: relative;
	margin-top: clamp(20px, 5.5vw, 30px);
}

.wp-block-quote::before {
	position: absolute;
	content: "";
	display: block;
	width: 5px;
	height: calc(100% - 3em);
	top: 1.5em;
	left: 1.5em;
	border-left: solid 1px rgba(180, 180, 180, .75);
	border-right: solid 1px rgba(180, 180, 180, .75);
}

/* =========================================================
   記事リスト｜縦リスト
   ========================================================= */
.post-time-item {
	font-size: clamp(12px, 1.6vw, 14px);
	line-height: 1;
	display: inline-block;
}

.post-taxonomy {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: clamp(8px, 2vw, 10px) clamp(4px, 1.8vw, 5px);
}

.post-taxonomy-item, a .post-taxonomy-item {
	position: relative;
	display: inline-block;
	font-size: clamp(12px, 1.6vw, 14px);
	line-height: 1;
	color: var(--color-main);
	padding-left: 10px;
	margin-top: 0;
}

.post-taxonomy-item::before, a .post-taxonomy-item::before {
	position: absolute;
	content: "#";
	font-size: clamp(12px, 1.6vw, 14px);
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.post-tag {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: clamp(8px, 2vw, 10px) clamp(4px, 1.8vw, 5px);
}

.post-tag-item, a .post-tag-item {
	font-size: clamp(12px, 1.6vw, 14px);
	position: relative;
	color: #A0A0A0;
}

.c-postList__items {
	padding-left: 0;
}

.c-postList__item {
	list-style: none;
}

.c-postList__item > a {
	padding-top: clamp(15px, 5.5vw, 30px);
	padding-bottom: clamp(15px, 5vw, 25px);
	padding-left: 8px;
	border-bottom: 1px solid #ccc;
	color: var(--color-text-bk);
	display: block;
}

.c-postList__item > a:hover {
	opacity: .8;
	transition: opacity .3s ease;
}

.c-postList__item:first-child > a {
	border-top: 1px solid #ccc;
}

.c-postList__info {
	display: flex;
	align-items: center;
	gap: clamp(10px, 3.2vw, 20px);
	line-height: 1;
	flex-wrap: wrap;
}

.c-postList__text {
	margin-top: clamp(6px, 2.6vw, 8px);
}

@media (width <=1000px) {
	.c-postList__info {
		gap: clamp(8px, 2.4vw, 8px);
	}

	.c-postList__text {
		margin-top: clamp(8px, 3.2vw, 8px);
		font-size: clamp(16px, 2.6vw, 16px);
		font-weight: normal;
		line-height: 1.3;
	}
}

/* =========================================================
   記事リスト｜1カラム
   ========================================================= */
.c-1columnList {
	margin-top: clamp(60px, 8vw, 120px);
	border-top: 1px solid #ccc;
	padding-top: clamp(40px, 7vw, 60px);
}

.c-1columnList__items {
	margin-top: clamp(20px, 5.5vw, 30px);
}

.c-1columnList__item {
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}

.c-1columnList__item + .c-1columnList__item {
	margin-top: clamp(30px, 6vw, 40px);
}

.c-1columnList__link {
	gap: 5%;
	color: var(--color-text-bk);
	display: block;
}

.c-1columnList__imgWrap {
	border-radius: 5px;
	width: 100%;
	aspect-ratio: 16/9;
	position: relative;
	overflow: hidden;
}

.c-1columnList__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.c-1columnList__cat {
	margin-top: clamp(10px, 2.6vw, 10px);
	display: flex;
	gap: 2px 8px;
	flex-wrap: wrap;
	color: var(--color-main);
}

.c-1columnList__catItem {
	background: #141212;
	padding: 3px 8px 2px;
	line-height: 1;
	font-size: clamp(12px, 1.6vw, 14px);
	border-radius: 20px;
}

/* =========================================================
   記事リスト｜2カラム
   ========================================================= */
.c-2columnList {
	margin-top: clamp(60px, 8vw, 120px);
	border-top: 1px solid #ccc;
	padding-top: clamp(40px, 7vw, 60px);
}

.c-2columnList__items {
	margin-top: clamp(20px, 5.5vw, 30px);
}

.c-2columnList__item {
	width: calc((100% - 5%) / 2);
}

.c-2columnList__item + .c-2columnList__item {
	margin-top: clamp(16px, 3.2vw, 20px);
}

.c-2columnList__link {
	gap: 5%;
	color: var(--color-text-bk);
	display: block;
}

.c-2columnList__imgWrap {
	border-radius: 5px;
	width: 100%;
	aspect-ratio: 16/9;
	position: relative;
	overflow: hidden;
}

.c-2columnList__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.c-2columnList__cat {
	margin-top: clamp(10px, 2.6vw, 10px);
	display: flex;
	gap: 2px 8px;
	flex-wrap: wrap;
	color: var(--color-main);
}

.c-2columnList__catItem {
	background: #141212;
	padding: 3px 8px 2px;
	line-height: 1;
	font-size: clamp(12px, 1.6vw, 14px);
	border-radius: 20px;
}

/* =========================================================
   記事リスト｜3カラム
   ========================================================= */
.c-3columnList__items {
	display: flex;
	gap: 30px 2.5%;
	padding-left: 0;
	list-style: none;
	flex-wrap: wrap;
}

.c-3columnList__item {
	background: var(--color-bg-wh);
	border-radius: 5px;
	width: calc((100% - 5%) / 3);
	filter: drop-shadow(1px 1px 7px rgba(0, 0, 0, .08));
}

.c-3columnList__link {
	color: var(--color-text-bk);
	display: block;
}

.c-3columnList__imgWrap {
	border-radius: 5px 5px 0 0;
	width: 100%;
	aspect-ratio: 16/9;
	position: relative;
	overflow: hidden;
}

.c-3columnList__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.c-3columnList__txt {
	background: var(--color-bg-wh);
	padding: clamp(16px, 3.2vw, 20px) clamp(16px, 3.2vw, 20px) clamp(12px, 2.6vw, 15px);
}

.c-3columnList__title {
	font-weight: 600;
	line-height: 1.5;
	margin-top: clamp(10px, 2.6vw, 10px);
	font-size: clamp(16px, 2.1vw, 18px);
}

.c-3columnList__taxonomy {
	display: flex;
	gap: 2px 8px;
	flex-wrap: wrap;
	margin-top: clamp(10px, 2.6vw, 10px);
	justify-content: space-between;
}

.c-3columnList__taxonomy-items {
	width: calc(100% - 72px - 8px);
}

.c-3columnList .post-time-item {
	position: absolute;
	right: 10px;
	bottom: 10px;
}

@media (width <=1000px) {
	.c-3columnList__items {
		margin-top: clamp(20px, 5.5vw, 30px);
		gap: clamp(20px, 5.5vw, 20px) 2.5%;
	}

	.c-3columnList__item {
		width: 100%;
	}

	.c-3columnList__item + .c-3columnList__item {
		margin-top: clamp(16px, 3.2vw, 20px);
	}

	.c-3columnList__txt {
		width: 100%;
		padding: clamp(12px, 2.6vw, 15px) 5% clamp(16px, 3.2vw, 20px);
	}

	.c-3columnList__link {
		flex-direction: column;
		gap: clamp(10px, 2.6vw, 10px) 0;
	}
}

/* =========================================================
   事例カード
   ========================================================= */
.c-case-columnList {
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(16px, 3.2vw, 20px) clamp(16px, 3.2vw, 20px);
}

.c-case-columnList-item {
	width: calc((100% - 40px) / 3);
	list-style: none;
}

.c-case-columnList-con {
	padding: clamp(20px, 4.8vw, 30px);
	border: 1px solid #ccc;
	border-radius: 10px;
	background: var(--color-bg-wh);
	display: block;
}

.c-case-columnList-con-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(16px, 3.2vw, 20px);
}

.c-case-columnList-con-top-txt {
/*	width: calc(100% - 80px - 20px);*/
}

.c-case-columnList-con-top-txt-ttl {
	font-size: clamp(16px, 2.1vw, 18px);
	font-weight: 600;
	margin-top: clamp(8px, 1.8vw, 8px);
	line-height: 1.5;
}

.c-case-columnList-con-top-img {
	width: 80px;
	height: auto;
	border-radius: 990px;
	overflow: hidden;
    display: none;
}

.c-case-columnList-con-under {
	margin-top: clamp(16px, 3.2vw, 20px);
}

@media (width <=1000px) {
	.c-case-columnList {
		gap: clamp(16px, 3.2vw, 20px) 5%;
	}

	.c-case-columnList-item {
		width: 100%;
	}

	.c-case-columnList-con {
		padding: clamp(16px, 3.6vw, 20px) 5%;
	}

	.c-case-columnList-con-top-txt {
		width: 100%;
	}

	.c-case-columnList-con-top-img {
		display: none;
	}

	.c-case-columnList-con-under {
		margin-top: clamp(12px, 2.6vw, 15px);
	}
}

/* =========================================================
   アーカイブ：タクソノミー
   ========================================================= */
.c-archive-taxonomy-wrap {
	margin-bottom: clamp(30px, 6vw, 40px);
}

.c-archive-taxonomy-list {
	display: flex;
	gap: clamp(10px, 3.2vw, 15px);
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.c-archive-taxonomy-item {
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 50px;
}

.c-archive-taxonomy-item .btn02 {
	padding: clamp(9px, 1.4vw, 12px) clamp(40px, 6vw, 40px) clamp(7px, 1.2vw, 10px) clamp(20px, 4vw, 20px);
	min-width: clamp(120px, 16vw, 140px);
	filter: drop-shadow(0 0 0 rgba(12, 28, 32, 0));
}

.c-archive-taxonomy-item .btn02-txt {
	font-weight: 400;
}

.c-archive-taxonomy-item .btn02-arrow {
	width: 26px;
	height: 26px;
}

/* =========================================================
   記事詳細
   ========================================================= */
.post {
	display: flex;
	justify-content: space-between;
	column-gap: clamp(30px, 6vw, 60px);
	line-height: 1.75;
}

.post-main {
	width: calc(100% - 300px - 60px);
	margin-left: auto;
	margin-right: auto;
}

h1.post-ttl {
	font-size: clamp(24px, 3.4vw, 36px);
	color: var(--color-text-bk);
	line-height: 1.5;
	margin-bottom: clamp(24px, 6vw, 36px);
}

.post-info {
	display: flex;
	gap: clamp(16px, 3.2vw, 20px);
	margin-bottom: clamp(40px, 8vw, 60px);
	width: 100%;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.post-main a.post-taxonomy-item {
	font-size: clamp(14px, 2.4vw, 18px);
}

.post-thumbnail {
	width: 100%;
	aspect-ratio: 16/9;
	position: relative;
	overflow: hidden;
	margin-bottom: clamp(20px, 5.5vw, 30px);
}

#post-footer {
	background: var(--color-back);
}

#post-footer .page-ttl03 h2 {
	border-bottom: #ccc 3px solid;
}

@media (width <=999px) {
	.post-main {
		width: 100%;
	}

	h1.post-ttl {
		font-size: clamp(20px, 5.2vw, 24px);
		margin-bottom: clamp(20px, 5.5vw, 24px);
	}

	.post-main a.post-taxonomy-item {
		font-size: clamp(14px, 3.6vw, 14px);
	}
}

/* 事例詳細ヘッダー等 */
.post-case-header {
	display: flex;
	justify-content: space-between;
	gap: clamp(16px, 3.2vw, 20px);
	margin-bottom: clamp(24px, 6vw, 40px);
}

.post-case-header-txt {
/*	width: calc(100% - 120px - 20px);*/
}

.post-case-header .post-info {
	margin-bottom: 0;
}

.post-case-header .c-case-columnList-con-top-img {
	width: 120px;
	height: 120px;
}

#post-case a .post-taxonomy-item {
	font-size: clamp(14px, 2.6vw, 16px);
}

#post-case .post-info {
	flex-direction: row;
}

.post-case-info {
	padding-bottom: clamp(20px, 6vw, 30px);
	border-bottom: 1px solid #ccc;
	margin-bottom: clamp(20px, 6vw, 30px);
}

.post-case-info-content {
	display: flex;
	background: var(--color-gray);
	gap: clamp(3px, 3vw, 12px) clamp(5px, 3vw, 20px);
	padding: clamp(15px, 5vw, 30px) clamp(20px, 5vw, 35px) clamp(12px, 3.6vw, 18px);
	flex-wrap: wrap;
}
.post-case-info-content-item-ttl {
    min-width: 60px;
}
.post-case-info-content-item {
	display: flex;
	width: calc(50% - 10px);
}
.post-case-info-content-item-txt a {
    color: var(--color-main);
}
@media (width <=999px) {
	.post-case-header-txt {
		width: 100%;
	}

	.post-case-header .c-case-columnList-con-top-img {
		display: none;
	}

	#post-case a .post-taxonomy-item {
		font-size: clamp(14px, 3.6vw, 14px);
	}

	.post-case-info {
		padding-bottom: clamp(16px, 4.8vw, 20px);
		margin-bottom: clamp(16px, 4.8vw, 20px);
	}

	.post-case-info-content {
        flex-direction: column;
		gap: clamp(5px, 2.5vw, 5%) 5%;
		padding: clamp(12px, 4vw, 15px) 5% clamp(12px, 3.6vw, 12px);
	}

	.post-case-info-content-item {
		width: 100%;
	}
}


/* =========================================================
   導入事例フィルター（パターン1：圧縮版 / JS互換）
   - is-active 2回クリック問題を起こさない
   - スマホで3+2のタブ配置に最適化
   ========================================================= */


/* --------------------------------
   全体
-------------------------------- */

.case-filter{
	background: var(--color-bg-wh);
	border: 1px solid #ededed;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 32px;
  }
  
  
  /* --------------------------------
	 上部（リセット / 選択中 / 絞り込む）
  -------------------------------- */
  
  .case-filter-submit-area{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:10px;
	padding:8px 12px; /* ← 縦幅圧縮 */
	border-bottom:1px solid #f0f0f0;
	background:#fcfcfc;
  }
  
  .case-selected-filters-display{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	align-items:center;
	min-height:24px; /* ← 圧縮 */
	line-height:1;
  }
  
  .case-selected-filter-item{
	display:inline-flex;
	align-items:center;
	height:24px;
	padding:0 10px;
	border-radius:999px;
	font-size:11px;
	font-weight:800;
	background:#FAF0F0;
	border:1px solid rgba(191,0,10,.22);
	color:var(--color-main);
	white-space:nowrap;
  }
  
  /* リセット */
  .case-filter-submit-reset{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:30px; /* ← 圧縮 */
	padding:0 12px;
	border-radius:10px;
	font-size:13px;
	font-weight:800;
	color:#4b5563;
	text-decoration:none;
	border:1px solid #e4e4e4;
	background:#fff;
	white-space:nowrap;
	transition:.15s ease;
  }
  
  .case-filter-submit-reset:hover{
	border-color:#d4d4d4;
	background:#fafafa;
  }
  
  /* 絞り込む */
  .case-filter-submit-btn{
	height:30px; /* ← 圧縮 */
	padding:0 16px;
	border-radius:10px;
	font-size:13px;
	font-weight:900;
	border:1px solid rgba(191,0,10,.35);
	background:var(--color-main);
	color:var(--color-text-wh);
	cursor:pointer;
	white-space:nowrap;
	transition:.15s ease;
	box-shadow:0 10px 20px rgba(191,0,10,.16);
  }
  
  .case-filter-submit-btn:hover{
	transform: translateY(-1px);
	box-shadow:0 14px 26px rgba(191,0,10,.22);
  }
  
  
  /* --------------------------------
	 タブ（元の構造を維持）
  -------------------------------- */
  
  .case-tab-buttons{
	margin-top:0;
	display:flex; /* ← JS互換のため維持 */
	column-gap:0px;
	border-bottom:2px solid #ddd;
	background:var(--color-gray);
  }
  
  .case-tab-button{
	width: calc((100% / 5) - 5px);
	padding:10px 10px; /* ← 圧縮 */
	line-height:1;
	cursor:pointer;
	background:var(--color-gray);
	border:0;
	font-weight:700;
	color:var(--color-text-bk);
	position:relative; /* ← after用 */
	transition:.15s ease;
	border-right: 1px solid #e2e2e2;
  }
  
  .case-tab-button:hover{
	background: #ededed;
  }

  .case-tab-button:last-child{
	border-right: none;
  }
  
  .case-tab-button.is-active{
	background:var(--color-main);
	color:var(--color-text-wh);
  }
  
  /* ※このafterは「なくてもいい」けど、あると気持ちいい */
  .case-tab-button.is-active::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:3px;
	background: rgba(255,255,255,.85);
  }
  
  
  /* --------------------------------
	 パネル（display:none禁止：JS互換）
  -------------------------------- */
  
  .case-tab-panels{
	padding:8px 12px 10px; /* ← 圧縮 */
	background:var(--color-bg-wh);
  }
  
  /* JS互換：max-heightで開閉 */
  .case-tab-panel{
	max-height:0;
	overflow:hidden;
	opacity:0;
	padding-top:0;
	padding-bottom:0;
	border:none;
	transition:max-height .35s ease, opacity .25s ease, padding .25s ease;
  }
  
  .case-tab-panel.is-active{
	opacity:1;
	padding-top:12px;
	padding-bottom:12px;
	max-height:1000px;
  }
  
  
  /* --------------------------------
	 チェックボックス（ボタン型）
  -------------------------------- */
  
  .case-checkbox-group{
	border:0;
	margin:0;
	padding:0;
  }
  
  .case-checkbox-items{
	display:flex;
	flex-wrap:wrap;
	gap:10px 10px;
  }
  
  .case-checkbox-item{
	position:relative;
	display:inline-flex;
  }
  
  .case-checkbox-item input[type="checkbox"]{
	position:absolute;
	opacity:0;
	pointer-events:none;
  }
  
  .case-checkbox-item label{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:7px 12px;
	font-size:13px;
	font-weight:700;
	border-radius:999px;
	border:1px solid #dcdcdc;
	background:var(--color-bg-wh);
	color:var(--color-text-bk);
	cursor:pointer;
	transition:.15s ease;
	white-space:nowrap;
	user-select:none;
	line-height:1;
  }
  
  .case-checkbox-item label:hover{
	border-color: rgba(191,0,10,.55);
	background:#FCF5F5;
  }
  
  .case-checkbox-item input:checked + label{
	background:var(--color-main);
	border-color:var(--color-main);
	color:var(--color-text-wh);
	box-shadow:0 10px 18px rgba(191,0,10,.18);
	transform: translateY(-1px);
  }
  
  .case-checkbox-item input:focus + label{
	/* outline:2px solid rgba(191,0,10,.55); */
	outline-offset:2px;
  }
  
  
  /* --------------------------------
	 スマホ最適化（3列 + 2列）
  -------------------------------- */
  
  @media (max-width: 720px){
  
	/* 上部を縦積み */
	.case-filter-submit-area{
	  flex-direction:column;
	  align-items:stretch;
	  gap:10px;
	}
  
	/* ボタンは押しやすく */
	.case-filter-submit-btn{
	  height:44px;
	  width:100%;
	}
  
	.case-filter-submit-reset{
	  height:44px;
	  width:100%;
	}
  
	/* タブを grid に切り替える（ここがポイント） */
	.case-tab-buttons{
	  display:grid;
	  grid-template-columns:repeat(3, 1fr);
	  column-gap:0;
	}
  
	/* flex用のwidth指定を解除 */
	.case-tab-button{
	  width:auto;
	  padding:14px 10px;
	  border-right:1px solid #ededed;
	  border-bottom:1px solid #ededed;
	}
  
	/* 3列目の右線を消す */
	.case-tab-button:nth-child(3n){
	  border-right:none;
	}
  
	/* 2段目（4,5）を自然に見せる */
	.case-tab-button:nth-child(4),
	.case-tab-button:nth-child(5){
	  grid-column:span 1;
	}
  
	/* 2段目の中央寄せを狙う */
	.case-tab-button:nth-child(4){
	  grid-column:1 / 2;
	}
	.case-tab-button:nth-child(5){
	  grid-column:2 / 3;
	}
  
	/* アクティブ下線は不要なので消す（崩れ防止） */
	.case-tab-button.is-active::after{
	  display:none;
	}
  
	/* タグの押しやすさ */
	.case-checkbox-item label{
	  padding:10px 12px;
	  font-size:13px;
	}
  }
  
  /* さらに小さい端末 */
  @media (max-width: 420px){
	.case-checkbox-items{
	  gap:8px 8px;
	}
	.case-checkbox-item label{
	  padding:10px 11px;
	}
  }
  


  
/* =========================================================
   サイドバー
   ========================================================= */
#siderbar {
	position: sticky;
	top: 0;
	width: 100%;
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}

.sidebar-post, .c-sideTaxonomies__group {
	margin-bottom: clamp(40px, 8vw, 60px);
}

.sidebar-post h3, .c-sideTaxonomies__group h3 {
	position: relative;
	line-height: 1;
	padding-bottom: clamp(10px, 1.8vw, 10px);
	border-bottom: 2px solid #eee;
	font-size: clamp(18px, 2.2vw, 20px);
	margin-bottom: clamp(16px, 3.6vw, 20px);
}

.sidebar-post h3::before, .c-sideTaxonomies__group h3::before {
	position: absolute;
	content: "";
	bottom: -2px;
	left: 0;
	width: 80px;
	height: 2px;
	background: var(--color-main);
}

.sidebar-post-list {
	list-style: none;
	padding-left: 0;
}

.sidebar-post-list li {
	padding-bottom: clamp(16px, 4.8vw, 20px);
	border-bottom: 1px solid #eee;
	margin-bottom: clamp(16px, 4.8vw, 20px);
}

.sidebar-post-list li:last-child {
	border-bottom: none;
}

.sidebar-post-item {
	display: flex;
	gap: clamp(10px, 2.6vw, 10px);
	color: var(--color-text-bk);
}

.sidebar-post-item-img {
	width: 38%;
	filter: drop-shadow(1px 2px 1px rgba(12, 28, 32, .18));
}

.sidebar-post-item-txt {
	width: calc(62% - 10px);
	line-height: 1.35;
	font-weight: 600;
}

.c-sideTaxonomies__list {
	list-style: none;
	padding-left: 0;
}

.c-sideTaxonomies__level-group .cat-item {
	margin: 0;
}

.c-sideTaxonomies__level-group .cat-item a {
	display: block;
	width: 100%;
	line-height: 1;
	padding-top: clamp(15px, 4.8vw, 15px);
	border-bottom: 1px solid #eee;
	padding-bottom: clamp(14px, 4.5vw, 14px);
	padding-left: 5px;
}

.c-sideTaxonomies__level-group .cat-item:first-child a {
	border-top: 1px solid #eee;
}

.c-sideTags {
	display: flex;
	gap: clamp(8px, 2.6vw, 10px) clamp(8px, 2.6vw, 10px);
	flex-wrap: wrap;
}

.c-sideTags__item {
	margin: 0;
	line-height: 1;
}

.c-sideTags__link {
	min-width: 60px;
	text-align: center;
	display: inline-block;
	padding: clamp(5px, 1.6vw, 6px) clamp(12px, 2.6vw, 14px);
	line-height: 1;
	background: var(--color-back);
	color: var(--color-text-bk);
	font-size: clamp(12px, 1.6vw, 14px);
}

/* 事例フィルター（サイド） */
.case-filter-sidebar {
	background: var(--color-back);
	padding: clamp(20px, 4.8vw, 30px) clamp(12px, 3.2vw, 15px) clamp(16px, 3vw, 20px);
	margin-bottom: clamp(40px, 8vw, 60px);
}

.case-filter-sidebar h3 {
	border-bottom: none;
	position: inherit;
	text-align: center;
	padding-bottom: 0;
	margin-bottom: 0;
}

.case-filter-select {
	margin-top: clamp(15px, 3.6vw, 20px);
	border-top: 1px solid #ccc;
	padding-top: clamp(15px, 3.6vw, 20px);
}

.case-filter-select:first-child {
	padding-top: 0;
	border: none;
}

.case-filter-select label {
	display: block;
	font-weight: 600;
	line-height: 1;
}

.case-filter-select select {
	display: block;
	width: 100%;
	background: var(--color-bg-wh);
	padding: clamp(6px, 1.8vw, 8px) 5px;
	border-radius: 5px;
	margin-top: clamp(5px, 1.6vw, 7px);
}

.case-filter-actions {
	text-align: center;
	margin-top: clamp(20px, 5.5vw, 25px);
}

.case-filter-actions .case-filter-submit-btn {
	display: inline-block;
	padding: clamp(6px, 1.8vw, 8px) 20px;
	line-height: 1;
	border-radius: 5px;
	color: var(--color-text-bk);
	cursor: pointer;
	border: 1px solid #ccc;
}

/* =========================================================
   資料請求ページ
   ========================================================= */
.document {
	display: flex;
	justify-content: space-between;
}

.document-contents {
	width: 58%;
}

.document-con-ttl h2 {
	font-size: clamp(24px, 3.6vw, 36px);
	font-weight: 700;
	padding-bottom: clamp(16px, 3.6vw, 20px);
	margin-bottom: clamp(40px, 8vw, 60px);
	border-bottom: 5px solid var(--color-main);
	line-height: 1.35;
}

.document-con-ttl p {
	font-size: clamp(20px, 3.6vw, 36px);
	font-weight: 700;
	padding-bottom: clamp(16px, 3.6vw, 20px);
	margin-bottom: clamp(30px, 6vw, 40px);
	border-bottom: 5px solid var(--color-main);
}

.document-contents .post-thumbnail {
	box-shadow: 5px 5px 4px rgba(0, 0, 0, .035);
}

.document-subcon-wrap {
	margin-top: clamp(40px, 7vw, 60px);
	padding-top: clamp(40px, 7vw, 60px);
	border-top: 1px solid #ccc;
}

.document-subcon-service-ttl {
	text-align: center;
	font-size: clamp(24px, 4vw, 32px);
	font-weight: bold;
	letter-spacing: 0.2rem;
}

.document-subcon-service {
	text-align: center;
	margin-top: clamp(20px, 5.5vw, 30px);
}

.document-subcon-service figure {
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
}

.document-subcon-service figure + figure {
	margin-top: clamp(30px, 6vw, 30px);
	border-top: 1px solid #ccc;
	padding-top: clamp(30px, 6vw, 30px);
}

.document-subcon-service-txt {
	text-align: center;
	font-size: clamp(16px, 2.8vw, 20px);
	font-weight: 600;
	margin-top: clamp(16px, 4.8vw, 20px);
}

.document-subcon-sev-ttl, .document-subcon-logo-ttl {
	text-align: center;
	line-height: 1;
}

.document-subcon-sev-ttl p, .document-subcon-logo-ttl h2 {
	font-size: clamp(24px, 4vw, 32px);
	font-weight: bold;
	letter-spacing: 0.2rem;
}

.document-subcon-sev-txt {
	font-size: clamp(14px, 2.6vw, 18px);
	margin-top: clamp(20px, 6vw, 30px);
}

.document-subcon-sev-txt p + p {
	margin-top: clamp(4px, 1.4vw, 5px);
}

.document-subcon-logo-ttl p {
	font-size: clamp(10px, 2vw, 12px);
	margin-top: clamp(4px, 1.6vw, 5px);
}

.document-subcon-logo-con {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1px 20px;
	margin-top: clamp(20px, 5.5vw, 30px);
}

.document-subcon-logo-con figure {
	width: calc((100% - 60px) / 3);
	text-align: center;
}

.form-document {
	width: 38%;
}

.form-document-wrap {
	padding: clamp(30px, 6vw, 40px);
	border: 1px solid #ccc;
	border-radius: 5px;
}

.form-document-input {
	display: block;
	margin-top: clamp(20px, 6vw, 30px);
}

.form-document-input span {
	display: block;
}

.form-document-name-ttl {
	margin-bottom: clamp(6px, 2vw, 7px);
	position: relative;
	padding-right: 40px;
}

.form-document-name-ttl.required::after {
	position: absolute;
	content: "必須";
	color: #fff;
	font-size: clamp(10px, 1.6vw, 12px);
	background: var(--color-main);
	padding: 5px 7px 4px;
	line-height: 1;
	border-radius: 20px;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
}

.form-document-name-txt {
	padding: 5px 10px;
	border-radius: 5px;
	border: 1px solid #ccc;
	margin-top: clamp(5px, 1.6vw, 7px);
}

.form-document-input .wpcf7-form-control-wrap {
	display: block;
}

.form-document-input .wpcf7-form-control {
	font-size: clamp(16px, 2.1vw, 18px);
	width: 100%;
}

.form-document .wpcf7-not-valid-tip {
	color: var(--color-red);
}

.form-policy-wrap {
	margin-top: clamp(20px, 6vw, 30px);
}

.form-policy {
	margin-bottom: clamp(6px, 2vw, 10px);
	font-size: clamp(12px, 1.6vw, 12px);
}

.form-document-wrap .wpcf7-spinner {
	position: absolute;
	top: 24%;
	right: 70px;
}

.form-document-warning {
	text-align: center;
	margin-bottom: clamp(16px, 3.2vw, 20px);
	border-radius: 30px;
	background: var(--color-main);
	display: block;
	color: #fff;
	padding: clamp(10px, 2.6vw, 12px) 0 clamp(9px, 2.4vw, 11px);
	line-height: 1;
}

@media (width <=980px) {
	.document {
		flex-direction: column;
	}

	.document-contents {
		width: 100%;
	}

	.document-con-ttl h2 {
		border-bottom: 3px solid var(--color-main);
	}

	.document-subcon-service {
		margin: 0 auto;
		margin-top: clamp(16px, 5.5vw, 20px);
		width: 80%;
	}

	.document-subcon-logo-ttl h2 {
		font-size: clamp(18px, 4.8vw, 20px);
	}

	.document-subcon-logo-ttl p {
		font-size: clamp(10px, 2.4vw, 10px);
	}

	.document-subcon-logo-con {
		gap: 1px 15px;
	}

	.document-subcon-logo-con figure {
		width: calc((100% - 30px) / 3);
		max-height: 75px;
		text-align: center;
	}

	.form-document {
		width: 100%;
		margin-top: clamp(40px, 7vw, 60px);
	}

	.form-document-wrap {
		padding: clamp(30px, 6vw, 40px) 5%;
	}
}

/* =========================================================
   404
   ========================================================= */
.page-404-under {
	border-top: 1px solid #eee;
	margin-top: clamp(60px, 9vw, 100px);
}

/* =========================================================
   お問い合わせ（共通）
   ========================================================= */
.form-content-wrap {
	padding: clamp(60px, 8vw, 80px) clamp(40px, 10vw, 120px) clamp(60px, 8vw, 80px);
	border-radius: 10px;
	background: var(--color-gray);
}

.form-page-con-img {
	width: 40px;
	height: 40px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-bg-wh);
	border-radius: 100px;
	transform: scale(1.5);
}

.form-page-con-ttl {
	text-align: center;
	margin-top: clamp(20px, 5vw, 30px);
	font-size: clamp(20px, 2.6vw, 24px);
	font-weight: 600;
}

.form-page-con-txt {
	text-align: center;
	margin-top: clamp(12px, 2.6vw, 15px);
	margin-bottom: clamp(12px, 2.6vw, 15px);
}

@media (width <=999px) {
	.form-content-wrap {
		padding: clamp(40px, 8vw, 60px) 5% clamp(30px, 6vw, 40px);
	}
}

/* 入力確認 */
.confirm-txt {
	padding: clamp(10px, 2.2vw, 10px) clamp(10px, 2.2vw, 10px) clamp(9px, 2vw, 9px);
	border: 1px solid #aaa;
	border-radius: 5px;
	margin-top: 4px;
	display: block;
	background: var(--color-bg-wh);
}

.confirm-txt-last {
	margin-bottom: clamp(60px, 9vw, 100px);
}

#form .wpcf7-previous {
	background: transparent !important;
	box-shadow: initial;
	border: solid 1px var(--color-text-bk) !important;
	font-size: clamp(12px, 1.6vw, 12px);
	color: var(--color-text-bk);
	width: 100%;
	max-width: 180px;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(5px, 1.8vw, 5px) 20px;
	border-radius: 100px !important;
	font-weight: normal;
	letter-spacing: .06em;
	cursor: pointer;
	margin-bottom: clamp(16px, 3.2vw, 20px);
}

/* サンクス */
.thanks-page-check-icon svg {
	margin: 0 auto;
}

.thanks-page-con-ttl {
	text-align: center;
	margin-top: clamp(12px, 2.6vw, 15px);
	font-size: clamp(20px, 2.6vw, 24px);
	font-weight: 700;
}

.thanks-page-con-txt {
	text-align: center;
	margin-top: clamp(12px, 2.6vw, 15px);
}

#thanks h2.wp-block-heading {
	font-size: clamp(24px, 3.6vw, 36px);
	line-height: 1.5;
	font-weight: 600;
	color: var(--color-text-bk);
	text-align: center;
	margin-top: clamp(30px, 5.5vw, 60px);
	background: none;
	border: none;
}
.thanks-con-wrap {
    text-align: center;
}
.thanks-con-wrap figure {
    width: 45px;
    margin: 0 auto;
}
.thanks-con-wrap h2 {
    margin-top: 20px;
}
.thanks-con-document {
    margin-top: 30px;
    border: 1px solid #ccc;
    padding: 30px 60px;
}
.thanks-con-document a {
    margin-top: 5px;
    display: block;
}
.thanks-br {
    width: 150px;
    background: var(--gr);
    height: 5px;
    margin: 80px auto;
}
.thanks-post {
    margin-top: 80px;
    border-top: 1px solid #ccc;
    padding-top: 80px;
}
/* =========================================================
   フォーム共通
   ========================================================= */
#form label {
	display: block;
	margin-top: clamp(20px, 6vw, 30px);
}

#form input, #form select, #form textarea {
	background-color: var(--color-bg-wh);
	border: 1px solid #ccc;
	border-radius: 0;
	color: var(--color-text-bk);
	padding: 5px 10px;
	width: 100%;
	border-radius: 5px;
}

#form select {
	padding: 8px 10px;
	color: var(--color-text-bk);
}

#form select option {
	color: var(--color-text-bk);
}

#form input::placeholder {
	color: #A0A0A0;
}

.form-btn-submit {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: clamp(8px, 2.6vw, 10px);
}

#form .wpcf7-submit {
	width: 100%;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(15px, 5.8vw, 20px) 20px clamp(14px, 5.2vw, 18px);
	border-radius: 100px;
	background: var(--color-main);
	color: #fff;
	font-size: clamp(16px, 2.4vw, 18px);
	line-height: 1;
	font-weight: 700;
	cursor: pointer;
	filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, .15));
	transition: .3s;
	border: none;
}

.wpcf7-submit:hover, .wpcf7-previous:hover {
	opacity: .6;
}

@media (width <=999px) {
	#form .wpcf7-submit {
		padding: clamp(12px, 5vw, 15px) 20px clamp(11px, 4.5vw, 14px);
		font-size: clamp(16px, 3.6vw, 16px);
	}
}

.form-item-ttl {
	line-height: 1;
	font-weight: 600;
	position: relative;
}

.form-item-ttl.required::before {
	position: absolute;
	content: "必須";
	font-size: clamp(10px, 1.6vw, 10px);
	top: 45%;
	right: -50px;
	background: var(--color-red);
	color: var(--color-text-wh);
	padding: 4px 10px 3px;
	line-height: 1;
	border-radius: 30px;
	transform: translate(0, -50%);
}

.form-btn {
	margin-top: clamp(20px, 6vw, 30px);
	text-align: center;
}

.form-smalltxt {
	margin-bottom: clamp(10px, 2.6vw, 15px) !important;
	font-size: clamp(12px, 1.6vw, 14px);
}

.form-smalltxt a {
	text-align: center;
	display: block;
	line-height: 1;
	margin-top: clamp(0px, 1.6vw, 10px);
	font-size: clamp(12px, 1.6vw, 14px);
	color: var(--color-text-bk);
}

@media (width <=999px) {
	.form-item-ttl.required::before {
		font-size: clamp(10px, 2.4vw, 10px);
		padding: 4px 7px 3px;
	}
}

/* プラポリ承諾チェック */
#form .checkbox {
	display: inline-block;
	cursor: pointer;
	font-size: clamp(16px, 2.1vw, 16px);
	user-select: none;
	margin: 0 auto clamp(10px, 3.2vw, 20px);
}

#form .checkbox label {
	text-align: center;
	margin-top: clamp(5px, 1.6vw, 7px);
}

.checkbox input[type="checkbox"] {
	display: none !important;
}

.checkbox .wpcf7-list-item-label {
	position: relative;
	padding-left: 30px;
	line-height: 20px;
	display: inline-block;
}

.checkbox .wpcf7-list-item-label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	border: 2px solid #ccc;
	border-radius: 4px;
	background: var(--color-bg-wh);
	transition: all .2s ease;
}

.checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background: var(--color-main);
	border-color: var(--color-main);
}

.checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	content: '';
	position: absolute;
	left: 7px;
	top: 3px;
	width: 6px;
	height: 12px;
	border: solid var(--color-text-wh);
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

@media (width <=999px) {
	#form .checkbox {
		font-size: clamp(14px, 3.6vw, 14px);
		margin-bottom: clamp(16px, 5vw, 20px);
	}

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

	.checkbox .wpcf7-list-item-label {
		padding-left: 20px;
		line-height: 15px;
	}

	.checkbox .wpcf7-list-item-label::before {
		width: 15px;
		height: 15px;
	}

	.checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
		left: 5px;
		top: 1px;
	}
}

/* =========================================================
   メンバープロフィール
   ========================================================= */
.member-name-post {
	color: var(--color-main);
}

.member-name-post, .member-name-kana {
	margin-bottom: 0;
}

h2.member-name-ttl {
	padding: 0;
	margin: 0;
	border-left: 0;
	font-size: clamp(24px, 3.6vw, 30px);
	letter-spacing: .5px;
	background: #fff;
	border: none;
}

.member-name-kana {
	line-height: 1;
	letter-spacing: .12em;
}

.member-catch {
	font-size: clamp(24px, 3.6vw, 30px);
	color: var(--color-main);
	margin-top: clamp(20px, 6vw, 30px);
	line-height: 1.3;
}

.member-sns {
	gap: clamp(8px, 3.2vw, 10px) 5%;
}

.member-sns .wp-block-column {
	width: calc(50% - 5%);
	text-align: center;
}

@media (width <=768px) {
	.member-name-post, h2.member-name-ttl, .member-name-kana, .member-catch {
		text-align: center;
	}

	h2.member-name-ttl {
		font-size: clamp(20px, 6vw, 24px);
	}

	.member-catch {
		font-size: clamp(20px, 6vw, 24px);
		margin-top: clamp(15px, 5vw, 15px);
	}

	.member-sns {
		gap: clamp(8px, 3.2vw, 10px) 5%;
		flex-wrap: wrap !important;
	}

	.member-sns .wp-block-column {
		width: calc(50% - 5%);
		text-align: center;
		flex-basis: auto !important;
	}

	.member-sns .wp-block-column a {
		text-align: center;
		display: inline-block;
	}
}

/* =========================================================
   ページネーション
   ========================================================= */
.nav-links-wrap {
	margin-top: clamp(12px, 2.6vw, 15px);
}

.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.nav-links .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 1.25px;
	height: 27.5px;
	width: 27.5px;
	font-size: clamp(16px, 2.1vw, 16px);
	color: var(--txt);
	border-radius: 100%;
	transition: color .5s cubic-bezier(0.45, 0.05, 0.55, 0.95), background-color .5s cubic-bezier(0.45, 0.05, 0.55, 0.95);
}

.nav-links .page-numbers.current {
	color: var(--txt);
	background-color: #f2f1f0;
}

.fa-chevron-right, .fa-chevron-left {
	background: url(images/arrow.svg) no-repeat center/100%;
	width: 14px;
	height: 10px;
}

.fa-chevron-left {
	transform: rotate(180deg);
}

@media (width <=1000px) {
	.nav-links .page-numbers {
		color: var(--color-text-bk);
	}

	.nav-links .page-numbers.current {
		color: var(--color-text-bk);
		background-color: #f2f1f0;
	}
}

.breadcrumbs {
    padding: 0.75rem 0 0.75rem 1rem;
    border-top: 1px solid #d9d9d9;
}
.breadcrumbs ol {
    display: -webkit-flex;
    align-items: flex-end;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    flex-wrap: nowrap;
    display: flex;
    max-width: 100%;
    overflow-x: auto;
    list-style: none;
}
.breadcrumbs ol:before {
    content: " ";
    display: block;
}
.breadcrumbs li {
    position: relative;
    padding-right: 24px;
    flex-shrink: 0;
    line-height: 20px;
}
.breadcrumbs li::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #1a1a1a;
    border-right: 1px solid #1a1a1a;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 8px;
    right: 12px;
}
.breadcrumbs li:last-child {
    padding-right: 0;
}
.breadcrumbs li:last-child::after {
	content: none;
}
.breadcrumbs li a {
    height: 20px;
    line-height: 20px;
}
/* ===== ベネフィット：会社概要 メンバー（コンサルタント） ===== */
.benefit-members{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:10px}
@media(min-width:768px){.benefit-members{grid-template-columns:repeat(4,1fr)}}
.benefit-member{border:1px solid #e3e3e3;border-left:4px solid var(--color-main);border-radius:4px;padding:18px 18px;background:#fff}
.benefit-member-name{font-size:17px;font-weight:700;color:var(--color-text-bk)}
.benefit-member-role{font-size:12px;color:#666;margin-top:6px;line-height:1.6}

/* ===== 会社概要（aboutgroup 移植：既存テーマに合わせた拡張） ===== */
.about-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.about-intro .ph img{width:100%;border-radius:8px;display:block}
@media(max-width:860px){.about-intro{grid-template-columns:1fr;gap:28px}}
.about-intro-lead{font-size:clamp(20px,2.4vw,26px);font-weight:900;line-height:1.7;margin-bottom:18px}
.about-intro-lead b{color:var(--color-main)}
.about-intro p{font-size:15px;color:#4d4d4d;line-height:1.95;margin-bottom:14px}
.about-philo{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:760px){.about-philo{grid-template-columns:1fr}}
.about-philo-card{border:1px solid #e3e3e3;border-left:4px solid var(--color-main);border-radius:4px;padding:24px 26px;background:#fff}
.about-philo-card .lbl{font-size:12px;font-weight:700;color:var(--color-main);letter-spacing:.06em}
.about-philo-card h3{font-size:21px;font-weight:900;margin:8px 0 10px;line-height:1.5}
.about-philo-card p{font-size:14px;color:#555;line-height:1.95}
.about-sf{background:var(--color-submain);color:#fff;border-radius:10px;padding:46px 40px;text-align:center}
.about-sf .en{font-size:13px;font-weight:700;color:#ffb3b8;letter-spacing:.1em}
.about-sf h3{font-size:clamp(22px,3vw,30px);font-weight:900;margin:10px 0 12px}
.about-sf p{color:rgba(255,255,255,.85);max-width:700px;margin:0 auto;font-size:14.5px;line-height:1.95}
.about-sf-points{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px;text-align:left}
@media(max-width:760px){.about-sf-points{grid-template-columns:1fr}}
.about-sf-points div{background:rgba(255,255,255,.08);border-radius:6px;padding:18px 22px}
.about-sf-points h4{font-size:15px;margin-bottom:6px}
.about-sf-points p{color:rgba(255,255,255,.8);font-size:13px;margin:0;line-height:1.8}
.about-koudou{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
@media(max-width:860px){.about-koudou{grid-template-columns:repeat(2,1fr)}}
.about-koudou div{border-top:3px solid var(--color-main);padding:14px 4px}
.about-koudou .n{font-family:"Roboto",sans-serif;color:var(--color-main);font-weight:700}
.about-koudou h4{font-size:16px;margin:4px 0 6px}
.about-koudou p{font-size:12.5px;color:#666;line-height:1.85}
.about-philolist{max-width:900px;margin:0 auto}
.about-acc{border:1px solid #e3e3e3;border-radius:6px;margin-bottom:14px;overflow:hidden;background:#fff}
.about-acc>summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;font-size:16px;display:flex;justify-content:space-between;align-items:center}
.about-acc>summary::-webkit-details-marker{display:none}
.about-acc>summary::after{content:"＋";color:var(--color-main);font-weight:700;font-size:18px;margin-left:12px}
.about-acc[open]>summary::after{content:"−"}
.about-acc[open]>summary{border-bottom:1px solid #eee}
.about-acc .body{padding:8px 22px 18px}
.about-acc .body ul{list-style:none;margin:0;padding:0}
.about-acc .body li{padding:11px 0;border-bottom:1px dashed #eee;font-size:14px;line-height:1.7}
.about-acc .body li:last-child{border-bottom:none}
.about-acc .body .no{font-family:"Roboto",sans-serif;color:var(--color-main);font-weight:700;margin-right:10px}
.about-history{max-width:820px;margin:0 auto;border-left:2px solid #e3e3e3;padding-left:4px}
.about-history li{list-style:none;position:relative;padding:0 0 22px 26px}
.about-history li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--color-main)}
.about-history .y{font-family:"Roboto",sans-serif;font-weight:700;color:var(--color-main);margin-right:12px}
.about-history .t{font-size:14px;color:#4d4d4d}

/* ===== 会社概要：ボードメンバー（コンサルタント）カード ===== */
.about-board{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:860px){.about-board{grid-template-columns:repeat(2,1fr)}}
.about-board-card{display:block;text-align:center;color:inherit;text-decoration:none}
.about-board-photo{aspect-ratio:896/1112;overflow:hidden;border-radius:6px;background:#f4f4f4}
.about-board-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.about-board-card:hover .about-board-photo img{transform:scale(1.04)}
.about-board-card h4{font-size:17px;font-weight:700;margin-top:14px}
.about-board-card .role{font-size:12px;color:var(--color-main);font-weight:700;margin-top:4px;line-height:1.6}

/* ===== 移行コンテンツ（事例・コンサルタント詳細）の本文体裁 ===== */
.benefit-migrated{font-size:15px;line-height:1.95;color:#333}
.benefit-migrated h2{font-size:22px;font-weight:900;margin:38px 0 14px;padding:6px 0 6px 14px;border-left:5px solid var(--color-main);line-height:1.5}
.benefit-migrated h3{font-size:18px;font-weight:700;color:var(--color-submain);margin:26px 0 10px;line-height:1.6}
.benefit-migrated h4{font-size:16px;font-weight:700;margin:18px 0 8px}
.benefit-migrated p{margin:0 0 16px}
.benefit-migrated img{max-width:100%;height:auto;border-radius:6px;margin:12px 0;display:block}
.benefit-migrated ul{margin:0 0 16px 1.2em}
.benefit-migrated li{margin-bottom:6px}
.benefit-migrated strong{font-weight:700}
.benefit-migrated figure{margin:14px 0}
/* コンサルタント詳細：写真＋プロフィールヘッダー */
.benefit-consultant-head{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start;margin-bottom:36px}
@media(max-width:760px){.benefit-consultant-head{grid-template-columns:1fr;gap:22px}}
.benefit-consultant-head .ph img{width:100%;border-radius:8px;display:block}
.benefit-consultant-head .nm{font-size:28px;font-weight:900;line-height:1.3}
.benefit-consultant-head .ti{font-size:13px;color:var(--color-main);font-weight:700;margin:10px 0 0;line-height:1.7}
.benefit-consultant-head .hd{font-size:18px;font-weight:700;line-height:1.7;margin-top:14px}

/* ===== 画像サイズの統一（事例カード・サービス画像） ===== */
.c-case-columnList-con-under{overflow:hidden;border-radius:6px}
.c-case-columnList-con-under img{width:100%;aspect-ratio:1440/681;height:auto;object-fit:cover;display:block}
.c-case-columnList-con-top-img{overflow:hidden;border-radius:6px}
.c-case-columnList-con-top-img img{width:100%;aspect-ratio:1440/681;height:auto;object-fit:cover;display:block}
.service-contents-item-main-img{overflow:hidden;border-radius:6px}
.service-contents-item-main-img img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;display:block}
.post-thumbnail img{width:100%;height:auto;display:block;border-radius:8px}

/* ===== 会社概要：経営理念（別出し）＋ MISSION/VISION/VALUE 3段 ===== */
.about-policy{border-left:5px solid var(--color-main);background:var(--color-back);border-radius:4px;padding:26px 30px;margin-bottom:44px}
.about-policy .lbl{font-size:12px;font-weight:700;color:var(--color-main);letter-spacing:.06em;margin-bottom:10px}
.about-policy p{font-size:clamp(17px,2.1vw,21px);font-weight:700;line-height:1.95;color:var(--color-text-bk)}
.about-mvv3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:768px){.about-mvv3{grid-template-columns:1fr;gap:24px}}
.about-mvv3-item{text-align:center;padding:8px 6px}
.about-mvv3-item .page-ttl03{margin-bottom:16px}
.about-mvv3-item .page-ttl03 h2{color:var(--color-main)}
.about-mvv3-txt{font-size:clamp(19px,2.6vw,24px);font-weight:700;line-height:1.75;color:var(--color-text-bk)}
.about-mvv3-txt span{display:block;font-size:15px;font-weight:400;color:#666;margin-top:12px}
@media(max-width:768px){.about-mvv3-item{border-bottom:1px solid var(--line);padding-bottom:18px}}

/* ===== 会社概要 MESSAGE：代表写真を表示＋写真＋本文の2カラム ===== */
.about-message-contents{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start}
@media(max-width:860px){.about-message-contents{grid-template-columns:1fr;gap:24px;justify-items:center}}
.about-message-ceo{display:block;width:100%}
.about-message-ceo figure{margin:0;width:100%;max-width:300px}
.about-message-ceo figure img{width:100%;height:auto;border-radius:8px;display:block}
.about-message-ceo-name{margin-top:14px;font-size:15px;font-weight:700;line-height:1.7;text-align:center}
.about-message-ceo-name span{display:block;font-size:12px;color:var(--color-main);font-weight:700;margin-bottom:2px}
.about-message-txt-ceo-name{display:none}

/* ===== ヘッダー：メインナビはテキスト、外部リンク＆お問い合わせは赤ピルボタン（ベネフィット元サイト準拠） ===== */
.header-navi-list li a{transition:color .2s,background .2s}
.header-navi-list li a:not([target="_blank"]):not([href*="/contact"]):hover{color:var(--color-main)}
.header-navi-list li a[target="_blank"],
.header-navi-list li a[href*="/contact"]{
	display:inline-flex;align-items:center;gap:6px;
	background:var(--color-main);color:#fff;
	padding:9px 18px;border-radius:999px;font-size:13px;font-weight:700;line-height:1;white-space:nowrap;
}
.header-navi-list li a[target="_blank"]:hover,
.header-navi-list li a[href*="/contact"]:hover{background:var(--color-submain);color:#fff}
.header-navi-list li a[target="_blank"]::after,
.header-navi-list li a[href*="/contact"]::after{content:"›";font-size:15px;font-weight:700;line-height:1;margin-top:-1px}
/* ピル同士の間隔を少し詰める */
.header-navi-list{gap:clamp(12px,2.4vw,18px)}

/* ===== ヒーロー左の "LOG" ウォーターマークを Benefit に（後勝ち上書き） ===== */
.home-fv-con::before{
	content:"Benefit";
	background:none;
	width:auto;
	height:auto;
	writing-mode:vertical-rl;
	text-orientation:upright;
	font-family:"Roboto",sans-serif;
	font-weight:900;
	font-size:clamp(44px,6vw,96px);
	letter-spacing:.02em;
	line-height:1;
	color:rgba(20,30,30,.05);
	white-space:nowrap;
	user-select:none;
	pointer-events:none;
}

/* ===== 事例詳細：会社情報(dl)をテーブル表示＋移行本文の整形 ===== */
.benefit-migrated header{display:block;margin-bottom:6px}
.benefit-migrated header > div > p{margin:0 0 2px}
.benefit-migrated dl{display:grid;grid-template-columns:max-content 1fr;border-top:1px solid #e3e3e3;margin:14px 0 30px;font-size:14px;overflow:hidden;border-radius:4px}
.benefit-migrated dl dt{font-weight:700;background:#f7f7f7;padding:11px 16px;border-bottom:1px solid #e3e3e3;color:#333;white-space:nowrap}
.benefit-migrated dl dd{padding:11px 16px;border-bottom:1px solid #e3e3e3;margin:0;color:#444;word-break:break-all}
.benefit-migrated section{margin:28px 0}
.benefit-migrated header + p:empty,.benefit-migrated section + p:empty,.benefit-migrated > p:empty{display:none}

/* ===== ロゴ差し替え（ベネフィット） ===== */
.header-logo{width:auto}
.header-logo img{height:50px;width:auto;display:block}
@media(max-width:1399px){.header-logo{width:auto}.header-logo img{height:42px}}
.footer-logo-img{filter:brightness(0) invert(1);height:60px;width:auto;display:block}

/* ===== ヒーロー サブコピーを黒ベースに（赤字修正） ===== */
.home-fv-txt-en{color:var(--color-text-bk)}

/* ===== フッターナビの崩れ修正（横並び） ===== */
.footer-nav-wrap .footer-list-nav{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:flex-start}
.footer-nav-wrap .footer-list-nav li{white-space:nowrap;font-weight:500;list-style:none}
.footer-nav-wrap .footer-list-nav a{color:rgba(255,255,255,.85);font-size:13px}
.footer-nav-wrap .footer-list-nav a:hover{color:#fff}
