/*
Theme Name: M&A COMPASSテーマ
*/

/* プライマリーカラーを青系に設定 */
:root {
    --primary-color: #194e83;	
    --button-color: #ff7f50;
	--border-color: #e0ddd5;
}

html {
	font-size: 16px;
	scroll-behavior: smooth; /* スムーススクロール */
	scroll-padding-top: 80px; /* ヘッダー固定でのアンカーリンク調整 */
}
html,
body,
.entry-body,
p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1em;
	letter-spacing: 0.07em;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow-x: hidden;
}
b, strong {
    font-weight: bold;
}
h1, h2, h3, h4 {
	font-weight: bold;
	margin: 20px;
	color: #000;
}
a:link,
a:visited {
	color: var(--primary-color);
	color: #000;
}
img {
	max-width: 100%;
	height: auto;
}

/* 画像配置 左 */
img.alignleft {
	text-align: left;
}

/* 画像配置 中央 */
img.aligncenter {
	display: block;
	margin: 10px auto;
}

/* 画像配置 右 */
img.alignright {
	display: block;
	margin: 10px 10px 10px auto;
}

a {
	text-decoration: none;
}
/* ベース */
.site-header {
	width: 100vw;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    color: #000;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 16px;
	color: #000;
}
.site-logo a {
    color: #000;
    text-decoration: none;
    font-weight: 700;
}
img.custom-logo {
	width: 250px;
	height: auto;
}

@media screen and (max-width: 1050px) {
	img.custom-logo {
		width: clamp(160px, 128.310px + 8.451vw, 250px);
		height: auto;	
	}
}

.hamburger {
	display: none;
}
.global-nav {
    position: static;
    translate: 0 0 !important;
    width: auto;
    background: transparent;
    padding: 0;
	padding-top: 2em;
	margin: auto;
    overflow: visible;
}
.global-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;		
    display: flex;
    gap: 20px;
}
.global-nav__list > li > a {
    padding: 8px 4px;
    border-radius: 6px;
	text-decoration: none;
	color: var(--primary-color);
	font-weight: bold;
	font-size: 16px;
	font-size: clamp(14px, -14.000px + 2.857vw, 16px);
}
.nav-overlay {
	display: none !important;
}
.free_consultation {
	border: thin solid var(--button-color);
	background-color: var(--button-color);
	border-radius: 40px;
	padding: 6px 20px;
	transition: background-color 0.3s ease-in-out;
	cursor: pointer;	
}
.free_consultation a {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}
.free_consultation:hover {
	background-color: #fff;
}
.free_consultation:hover a {
	color: var(--button-color);
}
/* モーション配慮（任意） */
@media (prefers-reduced-motion: reduce) {
    .hamburger__bar {
		transition: none;
	}
}

* デスクトップ（例：768x以上で横並び） */
@media only screen and (min-width: 768px) {

}

@media (max-width: 767px) {
    /* ヘッダー内を横並びに固定 */
    .site-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
		padding-right: 10px;
    }
	h1.site-logo,
	p.site-logo {
		padding: 10px;
	}	
    /* ---- ここが重要：PC hover の display:flex を完全に無効化 ---- */
    .global-nav__list > li:hover > .sub-menu,
    .global-nav__list > li:focus-within > .sub-menu {
        display: none !important;
    }

    /* オフキャンバス（あなたのis-openに合わせる） */
    .global-nav {
        display: block !important;
        position: fixed;
        top: 0;
        right: 0;
        height: 100dvh;
        width: min(92vw, 500px);
        background: #101638;
        z-index: 3000;
        transform: translateX(100%);
        transition: transform 0.25s ease;
        overflow-y: auto;
        padding: 24px 20px 40px;
    }

    .global-nav.is-open {
        transform: translateX(0);
    }

    /* オーバーレイ */
    .nav-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 2500;
        display: none;
    }

    .nav-overlay.is-open {
        display: block;
    }

    /* SPメニューの文字 */
	.global-nav__list {
		display: block;
	}
    .global-nav__list > li > a {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 14px 0;
        color: #fff;
        font-weight: 600;
    }

    /* 親項目が子を持つ時：トグルボタンを横に置く */
    .global-nav__list > li.has-submenu {
        display: block;
    }

    .global-nav__list > li.has-submenu > a {
        padding-right: 0;
    }

    /* SPサブメニュー：縦並び + 左1em */
    .global-nav__list .sub-menu {
        display: none;          /* 開閉はJSで */
        padding-left: 1em;      /* ←依頼どおり */
        margin: 6px 0 10px;
    }

    .global-nav__list > li.has-submenu.is-open > .sub-menu {
        display: block;
    }

    .global-nav__list .sub-menu li {
        display: block;
        margin: 0;
    }

    .global-nav__list .sub-menu a {
        display: block;
        padding: 10px 0;
        color: rgba(255, 255, 255, 0.9);
        font-weight: 500;
    }
	.global-nav__list > li a {
		color: #fff;
		text-decoration: none;
	}
    /* 開いた時 */
    .global-nav.is-open {
        transform: translateX(0);
		margin-top: 100px;
    }
    /* SPではサブメニューを通常配置に戻す（画面外に飛ぶのを防止） */
    .global-nav__list > li > .sub-menu {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;

        width: auto !important;
        margin: 6px 0 10px !important;

        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        white-space: normal !important;
        gap: 0 !important;
        padding: 0 0 0 1em !important; /* ←左1em */
    }

    .global-nav__list > li.is-open > .sub-menu {
        display: block !important;
    }

    .global-nav__list > li > .sub-menu > li {
        display: block !important;
        margin: 0 0 0.5em !important;
    }	
	.global-nav__list > li > .sub-menu > li a {
		color: #fff;
	}
    .global-nav .sub-menu {
        display: block;         /* 縦並び */
        padding-left: 2em;       /* 左余白 */
        margin-top: 0.5em;
    }

    .global-nav .sub-menu li {
        display: block;
        margin-bottom: 0.5em;
    }

    .global-nav .sub-menu a {
        display: block;
        font-size: 0.95em;
		padding-left: 2em;       /* 左余白 */
        color: #fff;
        opacity: 0.9;
    }
	
	/* トグルボタン自体は常に“箱”で中央揃え */
	.submenu-toggle {
		appearance: none;
		border: 0;
		background: transparent;
		color: inherit;
		cursor: pointer;
		width: 44px;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		line-height: 1;
	}

	/* “矢印”はSVG風に疑似要素で固定サイズの画像として作る */
	.submenu-toggle::before {
		content: "";
		display: block;
		width: 20px;
		height: 12px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 20px 20px;

		/* 下向き chevron（stroke）を data URI で埋め込み */
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	}

	/* 開いたら上向き（上下反転）※見た目が安定 */
	.global-nav__list > li.has-submenu.is-open > .submenu-toggle::before {
		transform: scaleY(-1);
	}

    /* ロゴは左固定 */
    .site-logo {
        margin: 0;
        flex: 0 0 auto;
    }

    /* ボタン群は「ロゴとハンバーガーの間」で伸縮 */
    .btn__wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;

        flex: 1 1 auto;

        /* ここが重要：absolute系を全て無効化 */
        position: static;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        margin: 0;
        height: auto;
    }
	#a11yTools.btn__wrapper {
		position: relative;
	}
	
	/* ハンバーガー */
	/* ボタン本体 */
	.hamburger {
		position: relative;
		width: 80px;
		height: 80px;
		background: transparent;
		border: 0;
		cursor: pointer;
	}

	/* 3本線を絶対中央に配置 */
	.hamburger__bar {
		position: absolute;
		left: 50%;
		top: 50%;
		width: 48px;
		height: 2px;
		background: #fff;
		transform: translate(-50%, -50%); /* 中央基準 */
		transition: transform .25s ease, opacity .2s ease;
		transform-origin: center center;   /* 念押し */
	}

	/* 初期並び（上・中・下）：中央から上下にだけずらす */
	.hamburger__bar:nth-child(1) {
		transform: translate(-50%, calc(-50% - 18px));
	}
	.hamburger__bar:nth-child(2) {
		opacity: 1;
	}
	.hamburger__bar:nth-child(3) {
		transform: translate(-50%, calc(-50% + 18px));
	}

	/* 開いたとき：中央に集合してからクロスに回転 */
	.hamburger.is-active .hamburger__bar:nth-child(1) {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.hamburger.is-active .hamburger__bar:nth-child(2) {
		opacity: 0;
	}
	.hamburger.is-active .hamburger__bar:nth-child(3) {
		transform: translate(-50%, -50%) rotate(-45deg);
	}	
    /* ハンバーガーは右固定 */
    .hamburger {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        width: 30px;
        height: 20px;
        padding: 0;
        border: 0;
        background: transparent;
		margin-right: 20px;
        cursor: pointer;
    }

    .hamburger__bar {
        display: block;
        height: 2px;
        background: #1F2933;
        border-radius: 2px;
    }
	.site-header__inner {
		display: flex;
		align-items: center;
	}

	/* 無料相談ボタンを先に表示 */
	.free_consultation {
		order: 1;
	}

	/* ハンバーガーを後ろに回す */
	.hamburger {
		order: 2;
		margin-left: 10px;
	}
}

/* スクロールロック（メニュー表示中にbodyへ付与） */
.body-lock {
    overflow: hidden;
    touch-action: none;
}

main.site-main {
	max-width: 1440px;
	padding: 0 20px;
	margin: 0 auto;
}
.front-page__content.entry-content,
.entry-content {
    margin: 50px auto;
    width: 100%;
    max-width: 1440px;
	/*padding: 0 20px;*/
}

/* トップに戻る：浮動ボタン */
.back-to-top {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: transparent; /* 画像のみ表示 */
    opacity: 0;
    visibility: hidden;
    transform: translateY(0);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
    /* フッター手前で持ち上げるオフセット（JSで更新） */
    transform: translateY(calc(var(--bt-offset, 0px) * -1));
}
.back-to-top img {
    display: block;
    width: 60px;
    height: 60px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.back-to-top:hover img {
    transform: scale(1.06);
    opacity: 0.9;
}

/* 表示状態 */
.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
}

/* 低速回線・ユーザー設定配慮 */
@media (prefers-reduced-motion: reduce) {
    .back-to-top,
    .back-to-top img {
        transition: none;
    }
}

.top_contents {
	margin: 30px auto;
	text-align: center;
}
.top_contents p.catchphrase {
	margin: auto;
    max-width: 430px;
    border-radius: 14px;
    font-size: 18px;
    font-weight: 800;
	color: #fff;
	padding: 10px 30px;
	border: thin solid var(--primary-color);
	background-color: var(--primary-color);	
}
.top_contents h2 {
	font-size: 24px;
	color: var(--primary-color);
}


.advisor-search {
	max-width: 1440px;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);	
}

.advisor-search__row {
    display: block;
}

.advisor-tabs__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
	margin-top: 10px;
	margin-bottom: 10px;
}

@media screen and (min-width: 1024px) {
	.advisor-search__row {
		display: grid;
	    grid-template-columns: 1fr 1fr;
    	gap: 16px;		
	}	
}
.advisor-search__label,
.advisor-search__block-title {
    display: block;
	font-size: 18px;
    font-weight: 700;
	margin-top: 40px;
    margin-bottom: 10px;
}
.advisor-search__label:before,
.advisor-search__block-title:before {
	content: '●';
	color: #ccc;
	margin-right: 8px;
}

.advisor-search__select {
    width: 100%;
    height: 44px;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 0 12px;
}

.advisor-search__details {
    margin-top: 16px;
    border-top: 1px dashed #ddd;
    padding-top: 16px;
}

.advisor-search__summary {
    cursor: pointer;
    font-weight: 700;
}

.advisor-search__block {
    margin-top: 16px;
}

.advisor-search__block-title {
    font-weight: 700;
    margin-bottom: 10px;
}

.advisor-search__check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 10px 12px;
    margin: 6px 10px 0 0;
}

.advisor-search__submit {
	display: block;
    margin: 30px auto;
    width: 100%;
    max-width: 350px;
    border-radius: 14px;
    font-size: 18px;
    font-weight: 800;
	color: #fff;
	padding: 10px 30px;
	border: thin solid var(--primary-color);
	background-color: var(--primary-color);
	transition: background-color 0.3s ease-in-out;
	cursor: pointer;
}
.advisor-search__submit:hover {
	color: var(--primary-color);
	background-color: #fff;
}	
    

@media (max-width: 768px) {
    .advisor-search__row {
        grid-template-columns: 1fr;
    }
}

.advisor-results__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px;
}

.advisor-results__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}
.advisor-results__count {
    font-weight: 800;
	padding: 6px 10px;
}

.advisor-results__filters {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.advisor-results__filter {
    border: 1px solid #e5e5e5;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 14px;
}

.advisor-results__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 50px;
}

.advisor-card {
    border: 1px solid #eee;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
	margin-bottom: 50px;
}

.advisor-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.advisor-card__thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.advisor-card__thumb--noimage {
    aspect-ratio: 16 / 10;
    background: #f2f2f2;
}

.advisor-card__name {
    font-size: 16px;
    font-weight: 800;
    padding: 12px 0 0;
    margin: 0;
    display: inline;
    border-bottom: 2px solid #000;	
}

.advisor-card__meta {
    font-size: 13px;
    padding: 8px 12px 12px;
    margin: 0;
    opacity: 0.8;
}

@media (max-width: 900px) {
    .advisor-results__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .advisor-results__grid {
        grid-template-columns: 1fr;
    }
}

.advisor-search__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.advisor-search__check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.advisor-tabs {
    margin-top: 12px;
}

.advisor-tabs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.advisor-tabs__tab {
    appearance: none;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 999px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 16px;
}

.advisor-tabs__tab.is-active {
    border-color: #111;
}

.advisor-tabs__bulk {
    margin-bottom: 10px;
}

.advisor-search__checks--panel {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.is-area-disabled .advisor-tabs__tab {
    opacity: 0.5;
    pointer-events: none;
}

.is-area-disabled .advisor-tabs__panel {
    opacity: 0.5;
}

/* 業種タブ（中身） */
.advisor-search__tab-panel {
    display: none;
}

.advisor-search__tab-panel.is-active {
    display: block;
}
.advisor-search__tab-panel[hidden] {
    display: none !important;
}
.advisor-card__icon {
	width: 16px;
	height: 16px;
	vertical-align: middle;
	margin-right: 4px;
}

/* =====================================================
    Advisor Search - Tabs UI (Area / Industry)
===================================================== */

.advisor-search__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.advisor-search__tab {
    appearance: none;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 999px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 14px;
}
.advisor-tabs__tab.is-active,
.advisor-search__tab.is-active {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 1px var(--primary-color) inset;
}

.advisor-search__tab:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.advisor-search__tab-panel {
    margin-top: 14px;
    font-size: 14px;
}

/* パネルはJSで hidden を制御（保険で is-active もOK） */
.advisor-search__tab-panel[hidden] {
    display: none !important;
}

.advisor-search__bulk {
    appearance: none;
    border: 1px solid #d9d9d9;
    background: #fff;
    border-radius: 10px;
    padding: 10px 12px;
    line-height: 1;
    cursor: pointer;
    font: inherit;
    margin-bottom: 12px;
}

.advisor-search__bulk:disabled {
    opacity: .5;
    cursor: not-allowed;
}

button.label-remove {
	background: none;
	border: none;
}

button.advisor-results__reset {
    border: 1px solid #e5e5e5;
	background: none;
    border-radius: 999px;
    padding: 6px 20px;
    font-size: 16px;
}

/* 子チェックの並び（必要なら調整） */
.advisor-search__checks--grid {
    display: flex;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.advisor-results__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	gap: 24px;
}

.advisor-card {
	background: #fff;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	transition: box-shadow .2s ease;
}
.advisor-card:hover {
	box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

.advisor-card__thumb img {
	width: 300px;
	height: auto;
	object-fit: cover;
	border-radius: 8px;
}

.advisor-card__name {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
}

.advisor-card p {
	margin: 6px 0;
	font-size: 14px;
	line-height: 1.5;
	/*line-height: 1;*/
    display: flex;
    align-items: center;	
}
.advisor-card__thumb img {
    width: 300px;
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
}

@media (min-width: 900px) {
    .advisor-search__checks--grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.advisor-search__check {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
	white-space: nowrap;
}

.advisor-search__check input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

@media screen and (min-width: 450px) {
	.sp_only {
		display: none;
	}
}
.page-template-page-advisor-results {
	
}
.sidebar_section {
	max-width: 400px;
}
.sidebar_section .advisor-search__row {
    display: block;
}
.advisor-results__form {
	display: none;
}
.contract-tabs {
    display: flex;
    gap: 8px;
    margin: 6px 0;
}

.contract-tab {
    padding: 4px 10px;
    border-radius: 4px;
    background: #eee;
    color: #666;
    font-size: 14px;
}

.contract-tab.active {
    background: var(--primary-color);
    color: #fff;
    font-weight: bold;
}

/* PC（768px以上）では左右反転 */
@media (min-width: 768px) {
	.advisor-results__inner {
		max-width: 700px;
		max-width: 100%;
		margin-left: auto;
		margin-right: 0;
		padding: 24px 16px;
	}	
	.advisor-results__grid {
		width: 100%;
		grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
	}
	.advisor-results-layout {
		max-width: 1440px;
		margin: auto;
		display: flex;
		align-items: flex-start;
		flex-direction: row-reverse; /* ★ これで main が右、sidebar が左 */
		gap: 40px;
		margin-top: 50px;
  }

  .advisor-results-layout main {
		flex: 1;
	}

  .advisor-results-layout .sidebar_section {
		max-width: 400px; /* サイドバー幅は調整OK */
		margin-top: 50px;
		margin-left: 30px;
		font-size: 80%;
	}
}

/* カード全体 */
.advisor-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.select-limit-info {
    font-size: 14px;
    color: #777;
}

/* 上段：画像＋情報の横並び */
.advisor-card__top {
	display: flex;
	gap: 20px;
}

.advisor-card__thumb img {
	width: 300px;
	height: 220px;
	object-fit: cover;
	border-radius: 8px;
}

.advisor-card__info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

p.advisor-card__item {
	margin-top: 10px;
}
.advisor-card__item strong {
	font-weight: 600;
	white-space: nowrap;
}
p.advisor-card__intro {
	width: calc(100% - 150px);
    line-height: 2;
    padding: 10px;
	padding: 0;
}
p.advisor_contents {
    font-size: 14px;
    color: #333;
    padding-left: 20px;
}
/* チェックボックス */
.advisor-card__checkbox {
	margin-top: 8px;
	font-size: 14px;
	text-align: right;
}

/* 下段 */
.advisor-card__bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.advisor-card__name {
	font-size: 20px;
	font-weight: 700;
	margin-top: -10px;
	margin-bottom: 8px;
    display: inline;
    border-bottom: 2px solid var(--primary-color);
}

.advisor-card__divider {
	margin: 12px 0;
	border: none;
	border-top: 1px solid #ddd;
}

.advisor-card__actions {
	display: flex;
	gap: 12px;
	margin-top: 12px;
}

@media screen and (max-width: 1300px) {
	.advisor-card__contract.form {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;  
		align-items: flex-start;
		align-items: center;
		gap: 6px 10px;
	}
	.advisor-card__contract.form img,
	.advisor-card__contract.form strong {
		flex: 0 0 auto;
	}
	.advisor-card__contract.form .contract-tabs{
		flex: 0 0 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 8px
	}	
	.advisor-card__thumb img {
		height: 230px;
	}	
}

.detail-btn,
.consult-btn {
	flex: 1;
	text-align: center;
	padding: 10px 0;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
}

.advisor-card__actions a.detail-btn {
	width: 130px;
    max-width: 130px;
	line-height: 30px;
    height: 30px;	
	border: thin solid var(--primary-color);
	background: var(--primary-color);
	color: #fff;
	transition: background-color 0.3s ease-in-out;
}
.advisor-card__actions a.detail-btn:hover {
	background: #fff;
	color: var(--primary-color);
}
.advisor-card__actions a.consult-btn {
	border: thin solid var(--button-color);
	background: var(--button-color);
	color: #fff;
	transition: background-color 0.3s ease-in-out;
}
.advisor-card__actions a.consult-btn:hover {
	background: #fff;
	color: var(--button-color);
}

/* スマホでは縦並び */
@media (max-width: 600px) {
	.advisor-card__top {
		flex-direction: column;
	}

	.advisor-card__thumb img {
		width: 100%;
		height: auto;
	}
}

/* ページング全体 */
.advisor-pager {
	text-align: center;
	margin: 40px 0;
}

/* ul のリセット */
.advisor-pager ul.page-numbers {
	display: inline-flex;
	gap: 6px;
	padding: 0;
	margin: 0;
	list-style: none;
}

/* 各ページ番号 */
.advisor-pager ul.page-numbers li a,
.advisor-pager ul.page-numbers li span {
	display: block;
	padding: 8px 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	color: #333;
	text-decoration: none;
	font-size: 14px;
	background: #fff;
	transition: all .2s ease;
}

/* ホバー */
.advisor-pager ul.page-numbers li a:hover {
	background: var(--primary-color);
	border-color: #bbb;
	color: #fff;
}

/* 現在のページ */
.advisor-pager ul.page-numbers li span.current {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
	font-weight: bold;
}

/* 前へ・次へ */
.advisor-pager ul.page-numbers li a.prev,
.advisor-pager ul.page-numbers li a.next {
	font-weight: bold;
}

/* 並び替え */
.advisor-sort {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
	margin-bottom: 20px;
}

.advisor-sort__form {
	display: flex;
	align-items: center;
	gap: 8px;
}

.advisor-sort select {
	padding: 6px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
}

/* スペシャルキャンペーン */
.special-campaign {
	max-width: 800px;
    background: #f7f9fc;
    border: 2px solid var(--primary-color);
    border-radius: 12px;
    padding: 32px;
    margin-bottom: 32px;
}

.special-campaign .label {
    display: inline-block;
    background: var(--primary-color);
    color: #fff;
    padding: 4px 12px;
    font-size: 16px;
	font-weight: bold;
    border-radius: 4px;
    margin-bottom: 12px;
}
.campaign-header {
	text-align: center;
}
.special-campaign h2 {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 12px;
}

.special-campaign .desc {
    color: #555;
    line-height: 1.6;
    margin-bottom: 24px;
}

.campaign-benefits {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.campaign-benefits .benefit {
    flex: 1;
    background: #fff;
    border: 1px solid #dfe3ea;
    padding: 16px;
    border-radius: 8px;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.campaign-benefits .num {
    background: var(--primary-color);
    color: #fff;
    width: 28px;
    height: 46px;	
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.campaign-note {
    margin-top: 12px;
    font-size: 16px;
    color: var(--primary-color);
    font-weight: bold;
}

.campaign-note.success {
    color: #28a745; /* 緑色で「特典対象です！」を強調 */
}
.advisor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 24px 0 12px;
}

.advisor-header .left {
    font-size: 18px;
    font-weight: bold;
}

.advisor-header .left .max {
    font-size: 13px;
    color: #777;
    margin-left: 8px;
}

.advisor-header .right .campaign-note {
    font-size: 16px;
    color: #007bff;
    font-weight: bold;
}

.advisor-header .right .campaign-note.success {
    color: #28a745;
}

/* 選択中アドバイザー表示 */
.selected-advisors {
	max-width: 850px; /* フォームとタグの横幅を統一 */
	margin: 0 auto; /* 中央寄せ */
}

.selected-advisors h3 {
    margin: 0 0 5px;
    font-size: 18px;
    font-weight: bold;
}

.advisor-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

/* 既存の advisor-tag と同じ幅で揃える */
.advisor-tag,
.advisor-tag.add-new {
    flex: 0 0 calc(33.333% - 16px);
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: bold;
    font-size: 14px;
}
.advisor-tag {
	justify-content: space-between;
}
/* ＋ アドバイザーを追加 のデザイン */
.advisor-tag.add-new {
    border: 2px dashed var(--border-color);
    background: #fafafa;
    cursor: pointer;
    color: var(--primary-color);
}

.advisor-tag.add-new:hover {
    background: #f0f8ff;
}

@media (max-width: 768px) {
    .advisor-tag {
        flex: 0 0 100%;
    }
}

.advisor-tag .remove {
    color: #888;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}

.advisor-tag .remove:hover {
    color: #333;
}
.remove .trash-icon {
    width: 16px;
    height: 16px;
    display: block;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.remove:hover .trash-icon {
    opacity: 1;
}

main.contact_main {
	max-width: 880px;
	margin: 30px auto;
}
/* フォーム全体 */
.contact_form {
	max-width: 820px;
	margin: 30px auto 50px;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);	
}
.cf7-form-block {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.cf7-form-block label {
    font-weight: bold;
    margin-bottom: 6px;
}
#contact-button {
    display: block;
}
.contact-button.disabled {
    opacity: 0.4;
    pointer-events: none;
}

.contact-button {
    width: 300px;
    position: fixed;
    bottom: 50px;
	left: 75%;
	transform: translateX(-75%);
	border: thin solid var(--button-color);
    background: var(--button-color);
    color: #fff;
    border-radius: 20px;
    padding: 16px 20px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    z-index: 9999;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
	transition: background-color 0.3s ease-in-out;
    /* スマホで押しやすくする */
    display: block;
}
.contact-button .cta-text {
    font-size: 16px;
    opacity: 0.9;
}

a.contact-button {
	font-weight: bold;
	color: #fff;
}
a.contact-button:hover {
	color: var(--button-color);
    background: #fff;	
}
.card.disabled {
    opacity: 0.4;
    pointer-events: none;
    cursor: not-allowed;
}
.toast {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: #fff;
    padding: 12px 20px;
    border-radius: 6px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 9999;
}
.toast.show {
    opacity: 1;
}

.flex_block {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.cf7-form-block input,
.cf7-form-block textarea,
.cf7-form-block select {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 15px;
}
.cf7-form-block input {
	max-width: 90%;
	margin-top: 6px;
}
.cf7-form-block select {
	max-width: 700px;
	margin-top: 6px;
}
.cf7-form-block textarea {
    height: 140px;
	max-width: 700px;
	margin-top: 6px;
}
.wpcf7-form-control.wpcf7-select,
.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    max-width: 98%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .cf7-form-block input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
    .cf7-form-block select,
    .cf7-form-block textarea {
        /*width: 100%;*/
        max-width: 80%;
        margin-top: 6px;
        box-sizing: border-box;
		display: block;
    }
}

/* 必須フィールドのラベルスタイル */
.wpcf7-form .required {
	background-color: #ff0000; /* レッド */
	color: #fff;
	padding: 2px 5px;
	border-radius: 3px;
	margin-left: 10px;
	font-size: 12px;
}
.wpcf7-form .optional {
	background-color: #eee;
	color: #000;
	padding: 2px 5px;
	border-radius: 3px;
	margin-left: 10px;
	font-size: 12px;
}
.cf7-submit {
	max-width: 300px;
	margin: auto;
    margin-top: 25px;	
}

.cf7-submit input[type="submit"] {
	max-width: 300px;
    border: thin solid var(--button-color);
    background-color: var(--button-color);
    color: #fff;
    padding: 14px 100px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
	font-weight: bold;
    cursor: pointer;
	transition: background-color 0.3s ease-in-out;
}

.cf7-submit input[type="submit"]:hover {
	max-width: 300px;
	border: thin solid var(--button-color);
    background: #fff;
	color: var(--button-color);
}

.cf7-note {
    margin: 10px 0;
    font-size: 12px;
    color: #666;
	text-align: center;
}
.hidden-fields-container {
    display: none !important;
}

.confirm_section {
	max-width: 700px;
	margin: 30px auto;
}
.submit_btn {
	max-width: 280px;
	margin: 30px auto 10px;	
	display: flex;
	justify-content: space-between;	
}
.submit_btn button {
    border: thin solid var(--button-color);
    background-color: var(--button-color);
    border-radius: 40px;
    padding: 10px 30px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
    transition: background-color 0.3s ease-in-out;
    cursor: pointer;	
}
.submit_btn button:hover {
    background-color: #fff;
	color: var(--button-color);
}


.toast {
    position: fixed;
    bottom: 80px;
    left: 72%;
    transform: translateX(-72%);
    background: #333;
	font-size: 16px;
    color: #fff;
    padding: 12px 20px;
    border-radius: 6px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 9999;
}
.toast.show {
    opacity: 1;
}
/* カード全体を無効化しても、個別相談ボタンは無効化しない */
.advisor-card.disabled a.single-contact-button {
    pointer-events: auto !important;
    opacity: 1 !important;
}

body.home .breadcrumbs {
	display: none;
}
.breadcrumbs {
	max-width: 1400px;
	margin: 0 auto 30px;
    padding: 10px 20px;
    border-bottom: solid thin #ccc;
}

.started__guide {
	margin: 50px auto;
	padding: 50px 0;
	width: 100vw;
	position: relative;
	left: calc(-50vw + 50%);
	background-color: rgba(204, 204, 204, .07);
	background-color: #e8edf2;
}
.head_copy {
	display: inline-block;
	padding: 5px 20px;
	border-radius: 20px;
	background-color: #ddd5fc;
}
h2.started__guide--tirle {
	margin-left: 0;
}
.started__guide--block {
	max-width: 1440px;
	margin: 30px auto;
	padding: 0 20px;
}
.guide-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.guide__item {
	width: 30%;
	border: 1px solid #ccc;
	padding: 10px;
	border-radius: 10px;
	background-color: #fff;
}
.guide__item:hover {
	border: thin solid var(--primary-color);
}
.guide__item--flex {
	display: flex;	
}
.guide-thumb {
    display: block;
    width: 80px;
	height: 80px;	
	margin-top: 10px;
	margin-right: 20px;	
}
.guide-thumb img {
    width: 80px;
	height: auto;
}
.guide__title--excerpt {
	display: block;
}
h3.guide-title {
    font-size: 18px;
    margin-left: 0;
	padding: 0;
}
.guide-excerpt {
    font-size: 14px;
    color: #555;
	padding-right: 1em;
}

.column__block {
	max-width: 1400px;
	padding: 30px 20px;
	margin: 16px auto;	
}
.column__block--head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}
h2.column__block--title {
	margin-left: 0;
}

.column-card {
	border: thin solid #ccc;
	background-color: #fff;
	border-radius: 18px;
}
.column-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
}
.column-card__thumb img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0;
}
.column-card__body {
	padding: 12px 16px 16px;
}
.column-card__title {
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 8px;
}
.column-card__date {
	font-size: 12px;
	color: #888;
}

.column-archive {
	max-width: 1400px;
	padding: 30px 0;
	margin: 30px auto;		
}
.column-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.column-item__link {
    display: flex;
    gap: 20px;
    text-decoration: none;
    color: inherit;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
}

.column-item__thumb img {
    width: 140px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.column-item__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ★ 日付とタイトルを横並びに */
.column-item__meta {
    display: flex;
    align-items: center;
    gap: 12px;
}

.column-item__date {
    font-size: 13px;
    color: #888;
    white-space: nowrap;
}

.column-item__title {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 600;
}

/* ★ 抜粋（タイトルの下に表示） */
.column-item__excerpt {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
	overflow-x: hidden;
}

/* アドバイザー情報 */
.advisor-detail {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
	background-color: #e8edf2;
	background-color: #f6f3f0;
}
.advisor_cont {
	max-width: 1000px;
	margin: 0 auto;	
	padding: 50px 0;
	font-size: 18px;
}
.advisor-summary {
	width: 1000px;
	max-width: 100%;
    display: flex;
	justify-content: space-between;
}
.advisor__summary--first {
	width: 1000px;
	max-width: 100%;
    background: #fff;
    border: 1px solid #e5e5e5;
	border-top: 5px solid var(--primary-color);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 50px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 80px;
}
.advisor__summary--left {
	max-width: 70%;
	display: block;
}
.advisor-summary__head {
	display: flex;
}
.advisor-contract-tabs {
	display: flex;
    gap: 10px;	
}
.advisor-summary__id {
	margin-left: 30px;
}
.advisor-header {
    margin-bottom: 32px;
}
h1.advisor-title {
    font-size: 28px;
    font-weight: 700;
	margin-left: 0;
    margin-bottom: 12px;
}
.advisor-intro {
    font-size: 16px;
    color: #555;
}
.advisor-fee-badges {
    display: flex;
    gap: 12px;
    margin: 16px 0;
}

.fee-badge {
    display: inline-block;
    padding: 6px 14px;
    background: #e6f3ff; /* 薄い青 */
    color: var(--primary-color);      /* 濃い青 */
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #c9e4ff;
}

.advisor__summary--right {
	width: 30%;
	display: block;
	border: thin solid #ccc;
	border-radius: 20px;
	padding: 20px 10px;
	text-align: center;
	background-color: #f8fafb;
}
.advisor__summary--achievements {
	display:block;
	font-size: 30px;
	font-weight: bold;
	color: var(--primary-color);
}
.advisor__summary--achievements p {
	font-size: 14px;
	font-weight: bold;
	color: #8C8C8C;
	margin: 0;
}
.advisor__summary--right .achievements {
	display: flex;
	justify-content: center;
	align-items: center;	
	margin-bottom: 10px;
}
.advisor__summary--achievements span {
	font-size: 16px;
	font-weight: bold;
	color: var(--primary-color);
	padding-left: 1em;
}
.advisor-section {
    margin-top: 40px;
}

h2.advisor-section__title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 16px;
    border-left: 4px solid var(--primary-color);
    padding-left: 12px;
	margin: 0;
}
h2.advisor-section__title.correspondence {
	margin-top: 30px;
}
.advisor-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 20px;
}
.single-advisor .advisor-card {
    padding: 30px;
}
.advisor-card dl {
    display: grid;
    grid-template-columns: 220px 1fr;
    row-gap: 20px;
    column-gap: 20px;
}

.advisor-card dt {
	max-width: 11em;
    font-weight: 600;
    color: #333;
	padding-bottom: 8px;
	border-bottom: thin solid #ccc;
}

.advisor-card dd {
    margin: 0;
    color: #555;
	padding-bottom: 8px;
	border-bottom: thin solid #ccc;
}

.advisor-table {
    width: 100%;
    border-collapse: collapse;
}

.advisor-table th,
.advisor-table td {
    padding: 12px 8px;
    border-bottom: 1px solid #eee;
}

.advisor-table th {
    width: 200px;
    font-weight: 600;
    background: #fafafa;
}
.free_contact {
	margin: 30px auto;
	text-align: center;
}
.free_contact h2 {
	margin-bottom: 30px;
}
.free_contact p {
	font-size: 14px;
	color: #333;
	padding-top: 10px;
}
.advisor-summary__right a {
	text-align: center;
	color: #fff;
}
.advisor-summary__btn {
    max-width: 200px;
    border: thin solid var(--button-color);
    background-color: var(--button-color);
    color: #fff;
    padding: 14px 20px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;	
}
.advisor-summary__btn.achievements {
    max-width: 200px;
    border: thin solid var(--button-color);
    background-color: var(--button-color);
    color: #fff;
    padding: 16px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;	
}
.advisor-summary__btn:hover {
    border: thin solid var(--button-color);	
    background-color: #fff;
    color: var(--button-color);
}
p.company_description {
	font-size: 16px;
}

.faq-wrapper {
	max-width: 1000px;
    margin: 40px auto;
}

body.page h1 a:not(:has(img)),
h1.page__title,
h1.advisor-results__title {
	display: inline-block;
	background: linear-gradient(135deg, #174f73 0%, #2e7d4f 50%, #1e3f52 100%);
    border: thin solid var(--primary-color);
    background: var(--primary-color);
    color: #fff;
    padding: 10px 30px;
    border-radius: 16px;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 8px 24px rgba(36, 76, 51, 0.4);
}

.faq-item {
    border-bottom: 1px solid #ddd;
    padding: 16px;
}

.faq-question {
	font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}
.faq-question {
	cursor: pointer;
	padding: 15px;
	background: #f7f7f7;
	border: 1px solid #ddd;
	font-weight: bold;
}

.faq-answer {
	display: none;
	padding: 15px;
	border: 1px solid #ddd;
	border-top: none;
	background: #fff;
	font-size: 16px;	
}

.faq-item.active .faq-answer {
  display: block;
}

.faq-question::after {
    content: '+';
    position: absolute;
    right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 30px;
	color: var(--primary-color);
}

.faq-item.active .faq-question::after {
    content: '-';
	font-size: 40px;
}

body.category-column .entry__header {
	margin-bottom: 30px;
}
body.category-column figure.entry__thumb img {
	float: left;
	margin: 0 20px 20px 0;
	max-width: 40%; /* 必要に応じて調整 */
}
body.category-column .entry__footer {
	margin-top: 50px;
	clear: both;
}
.entry__author {
	display: none;
}

/* ============================
    カテゴリー（.entry__cats）
============================ */
.entry__cats {
    margin: 40px 0 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.entry__cats a {
    display: inline-block;
    padding: 6px 12px;
    background: #eef3fa;
    border-radius: 4px;
    font-size: 13px;
    color: var(--primary-color);
    text-decoration: none;
}

.entry__cats a:hover {
    background: #dce8ff;
}

/* ============================
    タグ（.entry__tags）
============================ */
.entry__tags {
    margin: 0 0 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.entry__tags a {
    display: inline-block;
    padding: 6px 12px;
    background: #eef3fa;
    border-radius: 4px;
    font-size: 13px;
    color: var(--primary-color);
    text-decoration: none;
}

.entry__tags a:hover {
    background: #dce8ff;
}

/* ============================
    記事ナビゲーション（前後記事）
============================ */
.post-nav {
    display: flex;
    justify-content: space-between;
	max-width: 1000px;
    margin: 50px auto;
    padding: 20px 0;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.post-nav__prev a,
.post-nav__next a {
    display: inline-block;
    max-width: 100%;
    font-size: 15px;
    color: var(--primary-color);
    text-decoration: none;
    line-height: 1.5;
}

.post-nav__prev a:hover,
.post-nav__next a:hover {
    text-decoration: underline;
}
body.category-started-guide .entry__thumb {
	display: none;
}

/* ============================
    スマホ対応
============================ */
@media (max-width: 768px) {
    .post-nav {
        flex-direction: column;
        gap: 20px;
    }
    .post-nav__prev a,
    .post-nav__next a {
        max-width: 100%;
    }
}

footer.site-footer {
	width: 100vw;
	margin: auto;
	padding-left: 20px;
	padding-right: 20px;
	background-color: var(--primary-color);
}
body.single-advisor footer.site-footer {
	margin-top: -40px;
}
footer.site-footer .container {
	max-width: 1400px;
	margin: 30px auto 0;
	padding: 30px 10px;
	color: #fff;
}
.footer-menus {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding: 40px 0;
}

/* ▼ ロゴ＋説明 */
.footer-menu-logo .footer-logo {
    max-width: 300px;
    margin-bottom: 16px;
}

.footer-menu-logo .footer-description {
    color: #ddd;
    font-size: 14px;
    line-height: 1.6;
	white-space: nowrap;
	overflow-x: visible;	
}

.footer-menu-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 12px;
    color: #fff;
}

/* ▼ スマホは1列 */
@media (max-width: 768px) {
    .footer-menus {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

.footer-menu .footer-nav {
    list-style: none;
    padding: 0;
	margin: 20px 0 0;
}

.footer-menu .footer-nav ul,
.footer-menu .footer-nav li {
	list-style: none;
}
.footer-menu .footer-nav li {
    margin-bottom: 8px;
	font-size: 16px;
	font-weight: bold;
}
.footer-menu ul.sub-menu {
	margin-top: 20px;
	padding-left: 1em;

}
.footer-menu ul.sub-menu li a {
	font-size: 14px;
	font-weight: normal;		
}
.footer-menu .footer-nav a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
}

.footer-menu .footer-nav a:hover {
    text-decoration: underline;
}
.footer-menu.footer-menu-logo {
	max-width: 250px;
}

@media screen and (max-width: 1440px) {
	.advisor-detail,
	.column-archive,
	.entry.post.type-post,
	.entry.type-page {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media screen and (max-width: 1000px) {
    .advisor-results-layout {
        display: flex;
        flex-direction: column;
    }

    .advisor-results-layout main.advisor-results {
        order: 1;
        width: 100%;
    }

    .advisor-results-layout .sidebar_section {
        order: 2;
        width: 100%;
    }
	.advisor-results-layout .sidebar_section {
        max-width: 100%;
        margin-top: 50px;
        margin-left: 30px;
        font-size: 80%;
    }	
}

/* スマホは1列 */
@media (max-width: 768px) {
    .footer-menus {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

footer.site-footer .container .copyright {
	font-size; 14px;
	text-align: center;
}

main.about_us {
	max-width: 1440px;
	margin: -30px auto 50px;
}

.advisor-search {
	max-width: 1000px;
	margin: auto;
}
.advisor-search__section {
    display: flex;
    justify-content: flex-start;	
}
.advisor-seg,
.advisor-seg__item,
.advisor-seg__item span {
    font-size: 18px;
}
.advisor-seg__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
h3#as-contract-title {
	margin-right: 100px;
	margin-left: 0;
}
h3#as-industry-title {
	margin-top: 40px;
	margin-right: 50px;;
	margin-left: 0;
	white-space: nowrap;
}
.advisor-seg {
	padding-top: 20px;
}
.advisor-tabs2 {
	padding-top: 30px;
}
/* タブ全体 */
.advisor-tabs2__head {
    display: inline-flex;
    gap: 8px;
    padding: 6px;
    border-radius: 999px;
    background: #f2f4fb;
}

/* タブボタン */
.advisor-tabs2__tab {
    appearance: none;
    border: 1px solid #d6dcf0;
    background: transparent;
	font-size: 18px;
    color: #2a2f45;
    padding: 12px 22px;
    border-radius: 999px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .05s ease;
}

.advisor-tabs2__tab:hover {
    border-color: #aab6e6;
}

/* 選択中 */
.advisor-tabs2__tab.is-active {
    background: #3f43d6;
    border-color: #3f43d6;
    color: #fff;
    box-shadow: 0 6px 16px rgba(63, 67, 214, .25);
}

/* 選択中にチェックマークを付けたい場合（任意） */
.advisor-tabs2__tab.is-active::before {
    content: "✓";
    display: inline-block;
    margin-right: 8px;
    font-weight: 900;
}

/* キーボード操作のフォーカスも分かりやすく */
.advisor-tabs2__tab:focus-visible {
    outline: 3px solid rgba(63, 67, 214, .35);
    outline-offset: 2px;
}

.advisor-search__required {
    display: inline-block;
    margin-left: 8px;
    font-size: 12px;
	color: red;
    line-height: 1.2;
    padding: 2px 6px;
    border-radius: 999px;
    background: #eee;
}

.advisor-search__form-error {
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid #d93025;
    background: #fff5f5;
    border-radius: 8px;
}

.advisor-search__form-error-text {
    margin: 0;
    color: #d93025;
    font-weight: 700;
}

.advisor-search__error {
    margin: 8px 0 0;
    color: #d93025;
    font-weight: 700;
    font-size: 14px;
}

.advisor-search__section.is-invalid {
    border: 1px solid #d93025;
    border-radius: 10px;
    padding: 12px;
}

/* =========================
   必須エラー（赤字）
========================= */
.advisor-search__errors {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid #e24b4b;
    background: rgba(226, 75, 75, 0.06);
    border-radius: 12px;
}

.advisor-search__errors-list {
    margin: 0;
    padding-left: 1.2em;
}

.advisor-search__errors-item {
    color: #c93333;
    font-weight: 700;
    line-height: 1.6;
    font-size: 1em;
}

.advisor-search__section.is-error .advisor-search__title {
    color: #c93333;
}

/* =========================
   契約形態（仲介 / FA）見た目
   ※ “タブではなく仲介/FAのところ” を 16px に
========================= */
.advisor-seg {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.advisor-seg__item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border: 2px solid #d7deea;
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
    user-select: none;
}

.advisor-seg__item span {
    font-size: 16px; /* ←ここが仲介/FAの文字サイズ */
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.advisor-seg__item input {
    width: 16px;
    height: 16px;
}

.advisor-seg__item:has(input:checked) {
    border-color: #4b4cf0;
    background: rgba(75, 76, 240, 0.08);
}

/* =========================
   対応可能業種タブ（全業種 / 特定）選択状態を分かりやすく
========================= */
.advisor-tabs2__head {
    display: inline-flex;
    gap: 10px;
    padding: 6px;
    border-radius: 999px;
    background: #eef2f8;
}

.advisor-tabs2__tab {
    border: 2px solid transparent;
    background: transparent;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 800;
    font-size: 16px;
    cursor: pointer;
}

.advisor-tabs2__tab.is-active {
    background: var(--primary-color);
    color: #fff;
    border-color: rgba(75, 76, 240, 0.15);
    box-shadow: 0 8px 18px rgba(75, 76, 240, 0.25);
}

/* hover */
.advisor-tabs2__tab:not(.is-active):hover {
    background: rgba(75, 76, 240, 0.10);
}

/* =========================
   advisor-card（デザイン寄せ）
========================= */
.advisor-cards {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.sidebar_section .advisor-search__section {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;	
}
.sidebar_section .advisor-cards {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.sidebar_section .advisor-seg,
.sidebar_section .advisor-tabs2 {
    padding-top: 0;
}

@media (max-width: 1024px) {
    .advisor-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    .advisor-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.advisor-tabs2__panel .advisor-card {
    display: block;
    cursor: pointer;
	padding: 0;
	margin-bottom: 20px;
}

.advisor-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.advisor-card__inner {
    position: relative;
    min-height: 108px;
    padding: 18px 14px;
    border-radius: 16px;
    border: 2px solid #e5eaf2;
    background: #fff;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

.advisor-card:hover .advisor-card__inner {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    border-color: #cfd7e6;
}

.advisor-card__icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(75, 76, 240, 0.10);
}

/* アイコンを用意できる場合：data-icon の slug に合わせて差し替え
   例）/assets/img/industry/manufacturing.svg など */
.advisor-card__icon[data-icon]:not([data-icon=""]) {
    background: rgba(75, 76, 240, 0.10);
    /* 好きなやり方に変更OK（svgを背景にする等） */
}

.advisor-card__label {
    font-weight: 800;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;
}
.sidebar_section .advisor-seg__item span,
.sidebar_section .advisor-card__label {
    font-size: 14px;
}
/* チェックマーク（右上） */
.advisor-card__check {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.25);
    border: 2px solid rgba(255, 255, 255, 0.50);
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.12s ease, transform 0.12s ease;
}

/* 選択状態 */
.advisor-card:has(input:checked) .advisor-card__inner {
    background: #4b4cf0;
    border-color: #4b4cf0;
    color: #fff;
    box-shadow: 0 12px 24px rgba(75, 76, 240, 0.30);
	background: rgba(75, 76, 240, 0.4);
    border-color: rgba(75, 76, 240, 0.6);
}

.advisor-card:has(input:checked) .advisor-card__icon {
    background: rgba(255, 255, 255, 0.18);
}

.advisor-card:has(input:checked) .advisor-card__check {
    opacity: 1;
    transform: scale(1);
}

/* チェックの中身（疑似要素） */
.advisor-card__check::before {
    content: "";
    position: absolute;
    top: 45%;
    left: 50%;
    width: 10px;
    height: 6px;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translate(-45%, -50%) rotate(-45deg);	
}

/* 「この業種を全解除」：右寄せ＆ボタン化 */
.advisor-cards__tools {
    display: flex;
    justify-content: flex-end;
    margin: 14px 0 0;
    padding: 0 6px; /* カードグリッドと端を揃えたい時 */
}

.advisor-cards__clear {
    appearance: none;
    border: 1px solid #d7deea;
    background: #f6f8ff;
    color: #1f2a44;
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .05s ease;
}

.advisor-cards__clear:hover {
    background: #eef2ff;
    border-color: #bfc9ff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.advisor-cards__clear:active {
    transform: translateY(1px);
}

.advisor-cards__clear:focus-visible {
    outline: 3px solid rgba(75, 76, 240, 0.35);
    outline-offset: 2px;
}

.advisor-cards__tools {
    text-align: right;
}
.advisor-search__errors {
    display: none;
}

.advisor-search__errors.is-visible {
    display: block;
}

/* 業種専用アイコン枠 */
.advisor-industry-icon {
    width: 50px;
    height: 50px;
    width: 36px;
    height: 36px;	
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: rgba(75, 76, 240, 0.10);
	box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* PNG画像 */
.advisor-industry-icon__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* 未設定時 */
.advisor-industry-icon__fallback {
    width: 16px;
    height: 16px;
    border-radius: 6px;
    background: rgba(75, 76, 240, 0.15);
    display: block;
}



/* =========================================
   About Us page styling (for <main class="about_us">)
   - Tailwind classがなくても成立する設計
   ========================================= */

.about_us {
    --c-navy: #1E3A5F;
    --c-blue: #2563EB;
    --c-text: #111827;
    --c-muted: #6B7280;
    --c-line: rgba(15, 23, 42, 0.08);
    --bg-white: #ffffff;
    --bg-soft: #f6f7fb;
    --bg-beige: #f7f3ea;

    color: var(--c-text);
    line-height: 1.7;
}

/* 共通：最大幅 + 余白（HTML側に max-w-*, px-* があっても崩れないように） */
.about_us .max-w-4xl,
.about_us .max-w-5xl,
.about_us .max-w-7xl {
    max-width: 1120px;
    margin-inline: auto;
    padding-inline: 24px;
}

.about_us .max-w-4xl { max-width: 880px; }
.about_us .max-w-5xl { max-width: 1040px; }

/* セクション余白（py-24, md:py-36 の代替） */
.about_us section {
    padding-block: clamp(64px, 6vw, 110px);
}

/* 交互背景 */
.about_us .section-white {
    background: var(--bg-white);
}

.about_us .section-beige {
    background: var(--bg-beige);
    width: 100vw;
    margin-left: calc(50% - 50vw);
    border-bottom: 1px solid var(--c-line);	
}

/* ボーダー系（tailwindの border-gray-* 相当） */
.about_us .border-b {
    border-bottom: 1px solid var(--c-line);
}
.about_us .border-t {
    border-top: 1px solid var(--c-line);
}


@media screen and (max-width: 600px) {
	img.custom-logo {
		width: 140px;
		height: auto;
	}
	.free_consultation {
		
	}
	.free_consultation a {
		font-size: clamp(14px, 11.887px + 0.563vw, 20px);
	}
	.started__guide {
		width: 100%;
		padding: 40px 20px;
	}
	.guide-block {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		margin-bottom: 20px;
	}
	.guide-block .guide__item {
		width: calc(100% - 20px);
	}
    .single-advisor #primary {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .single-advisor .advisor_cont,
    .single-advisor .advisor-summary {
        width: 100%;
        max-width: none;
        padding-left: 10px;
        padding-right: 10px;
		padding-left: 1px;
        padding-right: 1px;
        margin: 0;
        box-sizing: border-box;
    }		
	.advisor__summary--first {
		flex-direction: column;
	}
	.advisor-contract-tabs  {
		flex-wrap: wrap;
	}
	.advisor__summary--first {
        width: 100%;
        max-width: none;	
        margin: 0;
		padding: 20px 10px;
        box-sizing: border-box;	
	}
	.advisor__summary--left {
		width: 100%;
		max-width: 100%;
	}
	.advisor__summary--right {
		width: 100%;
		max-width: 100%;
		border-radius: 20px;
		padding: 0;
		margin-top: -60px;
	}
	.advisor-card dl {
		display: block;
	}
	.advisor-card dt {
		max-width: 100%;
		font-size: 16px;
		background: #fafafa;
		padding: 10px 0;
	}
	.advisor-card dd {
		font-size: 16px;
		padding: 10px 0;
	}
	.advisor-table th,
	.advisor-table td {
		display: block;
		width: 100%;
		text-align: left;
	}

	.advisor-card__bottom {
		display: flex;
		flex-flow: column;
		gap: 20px;
	}
	p.advisor-card__intro {
		width: 100%;
		padding: 0;
	}
	.advisor-card__actions {
		display: flex;
		justify-content: center;
		gap: 12px;
		margin-top: 0;
	}
	.cf7-form-block input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
	.cf7-form-block select,
	.cf7-form-block textarea {
		max-width: 100%;
	}
	.contact_form .flex_block {
		margin-bottom: 0;
		flex-flow: column;
		gap: 0;
	}	
}

@media screen and (max-width: 500px) {
	.global-nav.is-open {
        transform: translateX(0);
        margin-top: 65px;
    }	
    img.custom-logo {
        width: 100px;
        height: auto;
    }	
	.free_consultation {
		padding: 10px 16px;
	}
	.guide-list {
		display: flex;
		flex-wrap: wrap;
		flex-flow: column;
		gap: 20px;
	}
	.guide__item {
		width: 100%;
	}
	.advisor-card {
		padding: 20px;
	}
	.advisor-card p,
	.contract-tabs {
		flex-wrap: wrap;
	}
	.advisor-results-layout .sidebar_section {
		max-width: 94%;
        margin: 0 auto;
	}
	.advisor-search__submit {
		font-size: 16px;
	}
	.column-item__link {
		flex-flow: column;
	}
	.column-item__link {
	    flex-flow: column;
	}
	.column-item__thumb img {
		width: 100%;
		height: auto;
	}
	.column-item__meta {
		display: flex;
		align-items: flex-start;
		flex-flow: column;
		gap: 0;
	}
	h2.column-item__title {
		margin: 0;
	}
	.started__guide--block {
		padding: 0;
		padding-right: 20px;
	}
	.column-archive {
		padding-top: 0;
	}
	.column__block {
		padding: 0;
	}
	.column__block--head {
		flex-flow: column;
	}
	.entry.post.type-post,
	.entry.type-page {
        padding-left: 0;
        padding-right: 0;
    }
	.advisor-search__section {
		display: flex;
		flex-flow: column;
		justify-content: flex-start;	
	}
	.advisor-cards {
		margin-top: 14px;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}
	.advisor-seg,
	.advisor-tabs2 {
		padding-top: 0;
	}
	.advisor-seg__item span,
	.advisor-tabs2__tab,
	.advisor-card__label {
		font-size: 14px;
	}
	body.page h1 a:not(:has(img)),
	h1.page__title,
	h1.advisor-results__title {
		display: block;
		padding: 5px 10px;
    	font-size: 22px;
	}
	footer.site-footer {
		padding-left: 0;
	}
	.footer-menus {
		padding: 0;
	}
	footer.site-footer .container .copyright {
		text-align: center;
		font-size: 13px;
	}
	.back-to-top img {
		width: 40px;
		height: 40px;
	}
}

@media screen and (max-width: 360px) {
	.free_consultation {
        padding: 10px;
    }	
}

/* =========================================
   1) Hero
   ========================================= */
.about_us .hero-gradient {
    width: 100vw;
    margin-left: calc(50% - 50vw);	
    background:
        radial-gradient(1000px 420px at 20% 10%, rgba(37, 99, 235, 0.14), transparent 60%),
        radial-gradient(900px 360px at 80% 0%, rgba(30, 58, 95, 0.12), transparent 55%),
        linear-gradient(180deg, #ffffff 0%, #f7fbff 50%, #ffffff 100%);
    text-align: center;
}

.about_us .hero-gradient span {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.10);
    color: var(--c-blue);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 28px;
}

.about_us .hero-gradient h1 {
    color: var(--c-navy);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    font-size: clamp(30px, 4.2vw, 56px);
    margin: 0 0 22px;
}

.about_us .hero-gradient p {
    margin: 0 auto;
}

.about_us .hero-gradient p.text-xl,
.about_us .hero-gradient p.text-2xl {
    color: rgba(17, 24, 39, 0.78);
    font-weight: 600;
    line-height: 1.7;
    font-size: clamp(16px, 2.2vw, 22px);
    margin-bottom: 22px;
}

.about_us .hero-gradient .flex {
    display: flex;
    justify-content: center;
}
.about_us .hero-gradient .flex p {
    color: rgba(107, 114, 128, 0.95);
    font-size: 14px;
    line-height: 1.9;
    max-width: 52ch;
}

/* =========================================
   2) 見出し共通
   ========================================= */
.about_us h2 {
    color: var(--c-navy);
    font-weight: 800;
    letter-spacing: -0.01em;
    font-size: clamp(22px, 2.6vw, 34px);
    line-height: 1.25;
}

.about_us h3 {
    color: var(--c-navy);
    font-weight: 800;
    font-size: 20px;
    line-height: 1.3;
}

.about_us .text-center {
    text-align: center;
}

.about_us .text-center .w-16.h-1 {
    width: 64px;
    height: 4px;
    background: var(--c-blue);
    border-radius: 999px;
    margin: 18px auto 0;
}

/* =========================================
   2) M&A COMPASSでできること
   対象：<section class="... section-white ..."> の中の .card
   ========================================= */

.about_us section.section-white {
	padding-block: clamp(48px, 7vw, 120px);
}

.about_us section.section-white > .max-w-7xl {
    max-width: 1180px; /* スクショの横幅感 */
    margin-inline: auto;
    padding-inline: 24px;
}

.about_us section.section-white .text-center {
	padding: clamp(40px, 6vw, 60px) clamp(20px, 10vw, 150px);
    margin-bottom: 56px;
}

.about_us section.section-white .text-center h2 {
    font-size: clamp(28px, 2.4vw, 36px);
    letter-spacing: -0.01em;
}

.about_us section.section-white .text-center .w-16.h-1 {
    width: 72px;
    height: 4px;
    margin-top: 18px;
}

/* 3カラムの間隔 */
.about_us section.section-white .grid {
    gap: 28px;
}

@media (min-width: 768px) {
    .about_us section.section-white .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* カード：大きさ・余白・角丸・薄い枠 */
.about_us section.section-white .card {
    border-radius: 24px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
    min-height: 520px;
    display: flex;
    flex-direction: column;
}

.about_us section.section-white .card.p-10 {
	padding: 30px 24px;
}

/* アイコン丸：大きめ */
.about_us section.section-white .card .w-14.h-14 {
    width: 64px;
    height: 64px;
    margin-bottom: 26px;
    background: rgba(37, 99, 235, 0.06);
}

.about_us section.section-white .card .w-14.h-14 svg {
    width: 30px;
    height: 30px;
}

/* 見出し/本文 */
.about_us section.section-white .card h3 {
    font-size: 22px;
    line-height: 1.35;
    margin: -10px 0;
}

.about_us section.section-white .card p {
    font-size: 15px;
    line-height: 1.9;
}

/* 2,3枚目の「灰ボックス」：少し大きめ */
.about_us section.section-white .card .bg-gray-50 {
    padding: 22px;
    border-radius: 18px;
    margin-top: 0;
    margin-bottom: 0;
}

.about_us section.section-white .card .bg-gray-50 p {
    font-size: 14px;
}

.about_us section.section-white .card .bg-gray-50 li {
    font-size: 14px;
    line-height: 1.9;
}

/* リンクをカード下部に固定 */
.about_us section.section-white .card a.inline-flex {
    margin-top: auto;
    padding-top: 18px;
    font-size: 16px;
}

svg.w-4.h-4.ml-1 {
	max-width: 30px;
}
svg.w-4.h-4.mr-2 {
	width: 36px;
}
/* SP：縦並びでも大きすぎないように */
@media (max-width: 767px) {
    .about_us section.section-white .card {
        min-height: auto;
    }

    .about_us section.section-white .card.p-10 {
        padding: 30px;
    }

    .about_us section.section-white .card h3 {
        font-size: 20px;
    }
}

/* =========================================
   3) カード（M&A COMPASSでできること）
   ========================================= */
.about_us .grid {
    display: grid;
    gap: 24px;
}

@media (min-width: 768px) {
    .about_us .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.about_us .card {
    border: 1px solid rgba(30, 58, 95, 0.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.07);
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
    overflow: hidden;
}

.about_us .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10);
    border-color: rgba(37, 99, 235, 0.20);
}

.about_us .card.p-10 {
    padding: 38px;
}

.about_us .card .w-14.h-14 {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.06);
    color: var(--c-blue);
    display: grid;
    place-items: center;
    margin-bottom: 22px;
}

.about_us .card p {
    color: rgba(107, 114, 128, 0.98);
    font-size: 14px;
    line-height: 1.9;
}

.about_us .card a {
    color: var(--c-blue);
    font-weight: 800;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: transform 200ms ease, opacity 200ms ease;
}

.about_us .card a:hover {
    transform: translateX(3px);
    opacity: 0.9;
}

.about_us .card .bg-gray-50 {
    background: rgba(15, 23, 42, 0.03);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 16px;
}

.about_us .card ul {
    margin: 0;
    padding-left: 1.2em;
}
.about_us .card li {
    line-height: 1.8;
}

/* =========================================
   4) こんな方におすすめ（白カード）
   ========================================= */
.about_us .section-beige .grid > div {
    background: #fff;
    border-radius: 22px;
    border: 1px solid rgba(30, 58, 95, 0.07);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

.about_us .section-beige .grid > div.p-8 {
    padding: 28px;
}

.about_us .section-beige .grid > div {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.about_us .section-beige .grid > div span {
    color: var(--c-blue);
    opacity: 0.35;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.about_us .section-beige .grid > div p {
    margin: 0;
    color: rgba(55, 65, 81, 0.95);
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.75;
}

/* =========================================
   5) 運営者情報
   ========================================= */
.about_us .profile-border {
    border-left: 3px solid rgba(37, 99, 235, 0.18);
}

.about_us .profile-border.pl-8 {
    padding-left: 28px;
}

.about_us .bg-gray-50.p-10,
.about_us .bg-gray-50.p-14 {
    background: var(--bg-soft);
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.06);
}

.about_us .rounded-3xl {
    border-radius: 28px;
}

.about_us .w-40.h-40 {
    width: 160px;
    height: 160px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

/* ボタン */
.about_us a.bg-\[\#1E3A5F\] {
    background: var(--c-navy);
    color: #fff;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    padding: 12px 18px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.16);
    transition: transform 200ms ease, background 200ms ease, box-shadow 200ms ease;
}

.about_us a.bg-\[\#1E3A5F\]:hover {
    background: var(--c-blue);
    transform: translateY(-1px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.22);
}

/* =========================================
   6) FAQ（details/summary）
   ========================================= */
.about_us details {
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
    background: #fff;
	margin-top: 20px;
}

.about_us details summary {
    list-style: none;
}

.about_us details summary::-webkit-details-marker {
    display: none;
}

.about_us details summary {
    padding: 22px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    cursor: pointer;
    transition: background 180ms ease;
}

.about_us details summary:hover {
    background: rgba(15, 23, 42, 0.02);
}

.about_us details summary span:first-child {
    font-weight: 800;
    color: rgba(30, 58, 95, 0.98);
}

.about_us details .icon-plus {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(15, 23, 42, 0.04);
    color: rgba(107, 114, 128, 0.7);
    transition: transform 220ms ease;
}

.about_us details[open] .icon-plus {
    transform: rotate(45deg);
}

.about_us details > div {
    padding: 0 22px 22px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    color: rgba(75, 85, 99, 0.98);
    line-height: 1.9;
}

/* =========================================
   7) CTA
   ========================================= */
.about_us .bg-gradient-to-br {
    background: linear-gradient(135deg, var(--c-navy), var(--c-blue));
    border-radius: clamp(28px, 3vw, 48px);
    position: relative;
    overflow: hidden;
    box-shadow: 0 40px 90px rgba(15, 23, 42, 0.25);
}

.about_us .bg-gradient-to-br h2 {
    color: #fff;
    font-size: clamp(26px, 3.7vw, 52px);
    line-height: 1.2;
}

.about_us .bg-gradient-to-br p {
    color: rgba(219, 234, 254, 0.95);
}

.about_us .bg-gradient-to-br a {
    background: #fff;
    color: var(--c-navy);
    font-weight: 900;
    text-decoration: none;
    display: inline-block;
    border-radius: 999px;
    padding: 18px 34px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.28);
    transition: transform 180ms ease, filter 180ms ease;
}

.about_us .bg-gradient-to-br a:hover {
    transform: translateY(-1px) scale(1.02);
    filter: brightness(0.98);
}

/* 装飾円（HTMLに absolute… があるので補完） */
.about_us .bg-gradient-to-br .absolute {
    position: absolute;
    pointer-events: none;
}

/* =========================================
   8) レスポンシブ補助（md:flex-row 等の代替）
   ========================================= */
.about_us .flex {
    display: flex;
    gap: 16px;
}

.about_us .flex-col {
    flex-direction: column;
}

@media (min-width: 768px) {
    .about_us .md\:flex-row {
        flex-direction: row;
    }
}

/* hidden md:block の代替 */
.about_us .hidden {
    display: none;
}
@media (min-width: 768px) {
    .about_us .md\:block {
        display: block;
    }
}

/* 文字サイズ補助（text-xx をざっくり再現） */
.about_us .text-sm { font-size: 14px; }
.about_us .text-xl { font-size: 20px; }
.about_us .text-2xl { font-size: 24px; }
.about_us .text-3xl { font-size: 30px; }
.about_us .text-4xl { font-size: 36px; }
.about_us .text-5xl { font-size: 48px; }
.about_us .text-6xl { font-size: 60px; }

@media (min-width: 768px) {
    .about_us .md\:text-2xl { font-size: 24px; }
    .about_us .md\:text-3xl { font-size: 30px; }
    .about_us .md\:text-5xl { font-size: 48px; }
    .about_us .md\:text-6xl { font-size: 60px; }
}


.consultation-points {
    width: 100vw;
    margin-left: calc(50% - 50vw);	
    padding: 96px 20px 110px;
    background: #f7fafc;
}

.consultation-points__inner {
    max-width: 1140px;
    margin: 0 auto;
}

.consultation-points__head {
    margin-bottom: 56px;
    text-align: center;
}

.consultation-points__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 18px;
    margin: 0 0 24px;
    border-radius: 999px;
    background: #e9f1ff;
    color: #2e6bff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
}

.consultation-points__title {
    margin: 0 0 22px;
    color: #0f172a;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.02em;
}

.consultation-points__lead {
    margin: 0;
    color: #64748b;
    font-size: 17px;
    font-weight: 500;
    line-height: 2;
}

.consultation-points__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
}

.consultation-card {
    min-height: 292px;
    padding: 34px 34px 32px;
    border: 1px solid #e8eef5;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
}

.consultation-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin-bottom: 28px;
    border-radius: 16px;
    background: #f8fafc;
}

.consultation-card__icon img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.consultation-card__title {
    margin: 0 0 18px;
    color: #0f172a;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: -0.01em;
}

.consultation-card__text {
    margin: 0;
    color: #475569;
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
}

@media screen and (max-width: 1023px) {
    .consultation-points {
        padding: 80px 20px 90px;
    }

    .consultation-points__head {
        margin-bottom: 44px;
    }

    .consultation-points__title {
        font-size: 40px;
    }

    .consultation-points__lead {
        font-size: 16px;
        line-height: 1.9;
    }

    .consultation-points__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .consultation-card {
        min-height: auto;
        padding: 28px 24px 26px;
    }

    .consultation-card__icon {
        margin-bottom: 22px;
    }

    .consultation-card__title {
        font-size: 18px;
    }

    .consultation-card__text {
        font-size: 15px;
        line-height: 1.9;
    }
}

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

    .consultation-points {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 56px 16px 40px !important;
        overflow: hidden;
        box-sizing: border-box;
    }

    .consultation-points__inner {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box;
    }

    .consultation-points__head {
        width: 100%;
        max-width: 100%;
        margin: 0 0 28px;
        padding: 0 6px;
        text-align: center;
        box-sizing: border-box;
    }

    .consultation-points__label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 28px;
        padding: 0 14px;
        margin: 0 0 14px;
        font-size: 12px;
        line-height: 1;
        border-radius: 999px;
        white-space: nowrap;
    }

    .consultation-points__title {
        width: 100%;
        max-width: 100%;
        margin: 0 0 14px;
        font-size: 22px;
        line-height: 1.45;
        letter-spacing: -0.02em;
        white-space: normal;
        word-break: keep-all;
        overflow-wrap: anywhere;
    }

    .consultation-points__lead {
        width: 100%;
        max-width: 100%;
        margin: 0;
        font-size: 14px;
        line-height: 1.9;
        white-space: normal;
        word-break: keep-all;
        overflow-wrap: anywhere;
    }

    .consultation-points__lead br {
        display: none;
    }
	.consultation-points__grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 24px;
    }
}

.contact_page.inquiry {
    max-width: 1240px;
    margin: 0 auto;
    padding: 72px 20px 100px;
    display: flex;
	justify-content: center;
    gap: 63px;
    align-items: flex-start;
}

/* 左カラムだけ調整 */
.contact_page.inquiry .consult-side {
    max-width: 450px;
    flex: 0 0 450px;
    padding-top: 30px;
}

.contact_page.inquiry .consult-title {
    margin: 0 0 22px;
    font-size: 31px;
    line-height: 1.28;
}

.contact_page.inquiry .consult-side__lead {
    margin: 0 0 30px;
    max-width: 340px;
    font-size: 15px;
    line-height: 1.9;
}

.contact_page.inquiry .consult-side__list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 22px;
}

.contact_page.inquiry .consult-side__item {
    padding: 24px 20px;
    border-radius: 18px;
}

.contact_page.inquiry .consult-side__content h3 {
    font-size: 17px;
    margin-bottom: 8px;
}

.contact_page.inquiry .consult-side__content p {
    font-size: 13px;
    line-height: 1.9;
}

.contact_page.inquiry .consult-side__privacy {
    padding: 18px 20px 16px;
    border-radius: 18px;
}

.contact_page.inquiry .consult-side__privacy-title {
    margin-bottom: 10px;
}

.contact_page.inquiry .consult-side__privacy-title span {
    font-size: 14px;
}

.contact_page.inquiry .consult-side__privacy p {
    font-size: 12px;
    line-height: 1.8;
}

/* フォームには触れず、残り幅だけ渡す 
.contact_page.inquiry > .wpcf7 {
    flex: 1 1 auto;
    min-width: 0;
}
*/

.consult-side{
    max-width:420px;
}

/* タイトル */

.consult-title{
    font-size:34px;
    font-weight:800;
    line-height:1.3;
    margin-bottom:20px;
    color:#0f172a;
}

/* リード文 */

.consult-lead{
    font-size:18px;
    line-height:1.8;
    color:#64748b;
    margin-bottom:40px;
}


/* カード */

.consult-card{
    display:flex;
    gap:20px;
    padding:28px 26px;
    margin-bottom:22px;

    border-radius:24px;
    background:#ffffff;

    border:1px solid #e5edf6;

    box-shadow:0 8px 20px rgba(0,0,0,0.04);
}

/* アイコン */

.consult-icon{
    width:64px;
    height:64px;

    flex-shrink:0;

    border-radius:18px;

    background:#eef2f7;

    display:flex;
    align-items:center;
    justify-content:center;
}

.consult-icon img{
    width:32px;
}

/* テキスト */

.consult-text h3{
    font-size:20px;
    font-weight:700;
	margin: 0;
    margin-bottom:8px;
    color:#0f172a;
}

.consult-text p{
    font-size:16px;
    line-height:1.8;
    color:#64748b;
}

/* プライバシー */

.consult-privacy{
    padding:30px 28px;

    border-radius:26px;

    background:#eef2f7;
}

/* プライバシータイトル */

.privacy-title{
    display:flex;
    align-items:center;
    gap:12px;

    font-weight:700;
    color:#2f5fe3;

    margin-bottom:12px;
}

.privacy-title img{
    width:22px;
}

/* プライバシー文章 */

.consult-privacy p{
    font-size:15px;
    line-height:1.9;
    color:#64748b;
}



@media screen and (max-width: 1270px) {
	.contact_page.inquiry {
		flex-flow: column;
		justify-content: center;
	}	
	.contact_page.inquiry .consult-side {
		max-width: 820px;
		flex: 0;
		padding-top: 30px;
	}	
	.contact_page.inquiry #wpcf7-f471-o1 {
		width: 98%;
	}
}

/* タブレット以下 */
@media screen and (max-width: 1023px) {
    .contact_page.inquiry {
        padding: 56px 16px 72px;
        flex-direction: column;
        gap: 30px;
    }

    .contact_page.inquiry .consult-side {
        width: 100%;
        flex: none;
        padding-top: 0;
    }

    .contact_page.inquiry .consult-side__lead {
        max-width: none;
    }
}

.column-slider {
    position: relative;
    padding-bottom: 44px !important;
}

.column-slider .swiper-pagination {
    bottom: 0 !important;
    left: 0;
    width: 100%;
}

.column-slider .swiper-wrapper {
    align-items: stretch;
}

.column-slider.swiper {
    padding-bottom: 40px !important;
}

.column-slider .swiper-pagination.swiper-pagination-bullets {
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
}

.category-started-guide .guide-article__thumb {
	display: none;
}