/* =========================================================
   SignalNetwork / Kadence Free Child Theme
========================================================= */

:root {
    --signal-blue: #1769ff;
    --signal-blue-dark: #0f54d8;
    --signal-text: #202632;
    --signal-text-light: #5f6875;
    --signal-border: #dfe5ec;
    --signal-bg-light: #f7f9fc;
    --signal-bg-blue: #f3f7ff;
    --signal-radius-sm: 4px;
    --signal-radius-md: 8px;
    --signal-content-width: 1200px;
}

body { color: var(--signal-text); }
.entry-content { line-height: 1.9; }
.entry-content p { margin-bottom: 1.5em; }
.entry-content ul,
.entry-content ol { margin-bottom: 1.75em; }
.entry-content li { margin-bottom: 0.45em; }

.entry-content .h2-left-border {
    position: relative;
    margin-top: 3.2rem;
    margin-bottom: 1.5rem;
    padding: 0.35em 0 0.35em 0.8em;
    border-left: 5px solid var(--signal-blue);
    background: transparent;
    color: var(--signal-text);
    font-size: clamp(1.45rem, 2vw, 1.8rem);
    font-weight: 700;
    line-height: 1.5;
}
.entry-content h3 {
    margin-top: 2.2rem;
    margin-bottom: 1rem;
    font-size: clamp(1.15rem, 1.6vw, 1.35rem);
    font-weight: 700;
    line-height: 1.6;
}

.signal-article-lead,
.signal-v6plus-lead,
.signal-v6router-lead,
.signal-fixedip-lead { font-size: 1.08em; line-height: 1.9; }

.signal-point,
.signal-v6plus-point,
.signal-v6router-point,
.signal-fixedip-point,
.signal-portopen-point {
    margin: 2rem 0 2.5rem;
    padding: 1.4rem 1.6rem;
    background: var(--signal-bg-light);
    border-left: 4px solid var(--signal-blue);
}
.signal-point__title,
.signal-v6plus-point__title,
.signal-v6router-point__title,
.signal-fixedip-point__title,
.signal-portopen-point__title {
    margin: 0 0 0.75rem;
    font-weight: 700;
    color: var(--signal-text);
}
.signal-point p:last-child,
.signal-v6plus-point p:last-child,
.signal-v6router-point p:last-child,
.signal-fixedip-point p:last-child,
.signal-portopen-point p:last-child,
.signal-point ul:last-child,
.signal-v6plus-point ul:last-child,
.signal-v6router-point ul:last-child,
.signal-fixedip-point ul:last-child { margin-bottom: 0; }

.signal-table-wrap,
.signal-v6plus-table-wrap,
.signal-v6router-table-wrap,
.signal-fixedip-table-wrap,
.signal-portopen-table-wrap {
    width: 100%;
    margin: 1.75rem 0 2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.signal-table,
.signal-v6plus-table,
.signal-v6router-table,
.signal-fixedip-table,
.signal-portopen-table {
    width: 100%;
    min-width: 580px;
    border-collapse: collapse;
    font-size: 0.95rem;
}
.signal-table th, .signal-table td,
.signal-v6plus-table th, .signal-v6plus-table td,
.signal-v6router-table th, .signal-v6router-table td,
.signal-fixedip-table th, .signal-fixedip-table td,
.signal-portopen-table th, .signal-portopen-table td {
    padding: 0.85rem 1rem;
    border: 1px solid var(--signal-border);
    vertical-align: middle;
}
.signal-table thead th,
.signal-v6plus-table thead th,
.signal-v6router-table thead th,
.signal-fixedip-table thead th,
.signal-portopen-table thead th {
    background: #f3f5f7;
    font-weight: 700;
    text-align: center;
}
.signal-table tbody th,
.signal-v6plus-table tbody th,
.signal-v6router-table tbody th,
.signal-fixedip-table tbody th,
.signal-portopen-table tbody th {
    background: #fafbfc;
    font-weight: 600;
    text-align: left;
}
.signal-table tbody td,
.signal-v6plus-table tbody td,
.signal-v6router-table tbody td,
.signal-fixedip-table tbody td,
.signal-portopen-table tbody td { text-align: center; }

.signal-note,
.signal-v6plus-note,
.signal-v6router-note,
.signal-fixedip-note,
.signal-portopen-note {
    margin-top: 0.75rem;
    color: var(--signal-text-light);
    font-size: 0.82rem;
    line-height: 1.7;
}

.signal-link a,
.signal-v6plus-link a,
.signal-v6router-link a,
.signal-fixedip-link a,
.signal-portopen-link a {
    color: var(--signal-blue);
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.signal-link a:hover,
.signal-v6plus-link a:hover,
.signal-v6router-link a:hover,
.signal-fixedip-link a:hover,
.signal-portopen-link a:hover { color: var(--signal-blue-dark); }

.signal-faq,
.signal-v6plus-faq,
.signal-v6router-faq,
.signal-fixedip-faq,
.signal-portopen-faq {
    margin: 1.5rem 0 2.75rem;
    border-top: 1px solid var(--signal-border);
}
.signal-faq__item,
.signal-v6plus-faq__item,
.signal-v6router-faq__item,
.signal-fixedip-faq__item,
.signal-portopen-faq__item {
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--signal-border);
}
.signal-faq__item h3,
.signal-v6plus-faq__item h3,
.signal-v6router-faq__item h3,
.signal-fixedip-faq__item h3,
.signal-portopen-faq__item h3 {
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
}
.signal-faq__item p:last-child,
.signal-v6plus-faq__item p:last-child,
.signal-v6router-faq__item p:last-child,
.signal-fixedip-faq__item p:last-child,
.signal-portopen-faq__item p:last-child { margin-bottom: 0; }

.signal-cta,
.signal-v6plus-cta,
.signal-v6router-cta,
.signal-fixedip-cta,
.signal-portopen-cta {
    margin: 2.5rem 0;
    padding: 1.8rem 2rem;
    background: var(--signal-bg-light);
    border: 1px solid var(--signal-border);
}
.signal-cta__sub,
.signal-v6plus-cta__sub,
.signal-v6router-cta__sub,
.signal-fixedip-cta__sub {
    margin: 0 0 0.25rem;
    color: var(--signal-blue);
    font-weight: 600;
}
.signal-cta__title,
.signal-v6plus-cta__title,
.signal-v6router-cta__main,
.signal-fixedip-cta__title {
    margin: 0 0 0.8rem;
    font-size: clamp(1.35rem, 2vw, 1.6rem);
    font-weight: 700;
    line-height: 1.5;
}

.signal-button,
.signal-v6plus-button,
.signal-v6router-button,
.signal-fixedip-button,
.signal-portopen-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 0.5rem;
    padding: 0.75rem 1.4rem;
    background: var(--signal-blue);
    border: 1px solid var(--signal-blue);
    border-radius: var(--signal-radius-sm);
    color: #fff !important;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.signal-button:hover,
.signal-v6plus-button:hover,
.signal-v6router-button:hover,
.signal-fixedip-button:hover,
.signal-portopen-button:hover {
    background: var(--signal-blue-dark);
    border-color: var(--signal-blue-dark);
    transform: translateY(-1px);
}

.signal-related,
.signal-v6plus-related,
.signal-v6router-related,
.signal-fixedip-related {
    margin-top: 2.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--signal-border);
}
.signal-related h3,
.signal-v6plus-related h3,
.signal-v6router-related h3,
.signal-fixedip-related h3 { margin-top: 0; }

.signal-card-grid,
.signal-fixedip-usecases {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1.75rem 0 2.25rem;
}
.signal-card,
.signal-fixedip-usecase {
    padding: 1.25rem 1rem;
    background: var(--signal-bg-light);
    border: 1px solid var(--signal-border);
    text-align: center;
}
.signal-card strong, .signal-card span,
.signal-fixedip-usecase strong, .signal-fixedip-usecase span { display: block; }
.signal-card strong,
.signal-fixedip-usecase strong { margin-bottom: .35rem; color: var(--signal-blue); }

/* Existing v6plusrouter flow component */
.signal-v6router-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.75rem 0;
}
.signal-v6router-flow__item {
    padding: 1.4rem;
    background: var(--signal-bg-light);
    border: 1px solid var(--signal-border);
    text-align: center;
}
.signal-v6router-flow__item strong,
.signal-v6router-flow__item span { display: block; }
.signal-v6router-flow__item strong { margin-bottom: .85rem; color: var(--signal-blue); }
.signal-v6router-flow__item span { line-height: 1.7; }

/* Existing v6plus price component */
.signal-v6plus-price {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 1.5rem 0 .75rem;
}
.signal-v6plus-price__item {
    padding: 1.25rem;
    background: var(--signal-bg-light);
    border: 1px solid var(--signal-border);
    text-align: center;
}
.signal-v6plus-price__item span,
.signal-v6plus-price__item strong { display: block; }
.signal-v6plus-price__item strong { margin-top: .3rem; color: var(--signal-blue); font-size: 1.25rem; }

/* Existing v6plus steps */
.signal-v6plus-steps { margin: 1.6rem 0 2rem; padding: 0; list-style: none; }
.signal-v6plus-steps li {
    margin-bottom: .75rem;
    padding: 1.1rem 1.25rem;
    background: var(--signal-bg-light);
    border-left: 3px solid var(--signal-blue);
}
.signal-v6plus-steps strong,
.signal-v6plus-steps span { display: block; }
.signal-v6plus-steps span { margin-top: .3rem; }

@media (max-width: 767px) {
    .entry-content .h2-left-border {
        margin-top: 2.5rem;
        padding-left: .7em;
        font-size: 1.4rem;
    }
    .signal-point,
    .signal-v6plus-point,
    .signal-v6router-point,
    .signal-fixedip-point,
    .signal-portopen-point,
    .signal-cta,
    .signal-v6plus-cta,
    .signal-v6router-cta,
    .signal-fixedip-cta,
    .signal-portopen-cta { padding: 1.25rem; }
    .signal-card-grid,
    .signal-fixedip-usecases,
    .signal-v6router-flow,
    .signal-v6plus-price { grid-template-columns: 1fr; }
    .signal-button,
    .signal-v6plus-button,
    .signal-v6router-button,
    .signal-fixedip-button,
    .signal-portopen-button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}

/* =========================================================
   HERO FEATURES
========================================================= */

.sn-hero__features {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 26px;
}

.sn-hero__feature {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;

	gap: 7px !important;

	width: auto !important;
	min-height: 20px;

	margin: 0 !important;
	padding: 0 !important;
}

/* アイコン全体 */
.sn-hero__feature-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 16px !important;

	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	min-height: 16px !important;

	margin: 0 !important;
	padding: 0 !important;

	line-height: 1 !important;
	vertical-align: middle;

	color: #1769ff;
}

/* SVG */
.sn-hero__feature-icon svg {
	display: block !important;

	width: 16px !important;
	height: 16px !important;

	margin: 0 !important;
	padding: 0 !important;

	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* テキスト */
.sn-hero__feature-text {
	display: inline-flex !important;
	align-items: center !important;

	width: auto !important;
	min-height: 16px;

	margin: 0 !important;
	padding: 0 !important;

	color: #334155;

	font-size: 13px;
	font-weight: 600;

	/* ここが重要 */
	line-height: 16px !important;

	white-space: nowrap;
}

/* Gutenberg の p の標準余白を除去 */
.sn-hero__feature p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 16px !important;
}

/* Gutenberg Group のレイアウトを強制 */
.sn-hero__feature.wp-block-group {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

/* Gutenberg の block gap を打ち消す */
.sn-hero__feature > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* =========================================================
   HERO FEATURES - DIVIDER
========================================================= */

.sn-hero__feature + .sn-hero__feature {
	position: relative;
	margin-left: 2px !important;
	padding-left: 24px !important;
}

/* 項目間の縦線 */
.sn-hero__feature + .sn-hero__feature::before {
	content: "";
	position: absolute;

	left: 0;
	top: 50%;

	width: 1px;
	height: 20px;

	background-color: #cbd5e1;

	transform: translateY(-50%);
}

/* =========================================================
   REASON ICON - CENTER FIX
========================================================= */

/* Gutenberg カスタムHTMLブロック自体を中央配置 */
.sn-reason > .wp-block-html {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;

	margin: 0 0 24px !important;
	padding: 0 !important;
}

/* アイコン */
.sn-reason__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 42px;

	width: 42px !important;
	height: 42px !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #1769ff;
}

/* SVG */
.sn-reason__icon svg {
	display: block !important;

	width: 42px !important;
	height: 42px !important;

	margin: 0 !important;

	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* =========================================================
   SERVICES
========================================================= */

.sn-services {
	padding: 110px 24px;
	background: #f7f9fc;
}

.sn-services__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.sn-section-eyebrow {
	margin: 0 0 14px !important;

	color: #1769ff;

	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.12em;

	text-align: center;
}

.sn-section-title {
	margin: 0 !important;

	color: #101d36;

	font-size: 40px !important;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.02em;

	text-align: center;
}

.sn-section-lead {
	max-width: 680px;

	margin: 18px auto 0 !important;

	color: #64748b;

	font-size: 15px;
	font-weight: 400;
	line-height: 1.8;

	text-align: center;
}


/* =========================================================
   SERVICES GRID
========================================================= */

.sn-services__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
	gap: 24px;

	align-items: stretch;

	margin-top: 60px;
}


/* =========================================================
   SERVICES
   背景を画面全幅にする
========================================================= */

.sn-services {
	position: relative;

	width: 100vw !important;
	max-width: none !important;

	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;

	padding: 110px 24px;

	background: #f7f9fc;

	box-sizing: border-box;
}


/* 中身は1200pxに制限 */
.sn-services__inner {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box;
}

/* =========================================================
   V6 PLUS CARD
========================================================= */

.sn-service--v6 {
	background:
		linear-gradient(
			135deg,
			#ffffff 0%,
			#ffffff 68%,
			#f4f8ff 100%
		);

	border-color: #cddcff;
}


/*
 * v6プラスカード内部
 *
 * 左：サービス概要・料金
 * 右：IPアドレス選択
 */
.sn-service__body {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr);
	gap: 44px;

	align-items: start;

	width: 100%;
}


/* 左カラム */
.sn-service__main {
	min-width: 0;
}


/* 右カラム */
.sn-service__ip-area {
	min-width: 0;
}


/* =========================================================
   BADGE
========================================================= */

.sn-service__badge {
	display: inline-flex;

	margin: 0 0 22px !important;
	padding: 5px 10px;

	background: #1769ff;

	border-radius: 3px;

	color: #ffffff;

	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}


/* =========================================================
   SERVICE TITLE
========================================================= */

.sn-service__title {
	margin: 0 !important;

	color: #101d36;

	font-size: 30px !important;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.02em;
}

.sn-service--v6 .sn-service__title {
	color: #1769ff;
}


/* =========================================================
   SERVICE LEAD
========================================================= */

.sn-service__lead {
	margin: 16px 0 0 !important;

	color: #334155;

	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}


/* =========================================================
   PRICE
========================================================= */

.sn-service__prices {
	display: flex !important;
	flex-direction: column !important;
	gap: 0;

	margin-top: 28px;
}

.sn-service__price {
	margin: 6px 0 0 !important;

	color: #64748b;

	font-size: 13px !important;
	font-weight: 500;
	line-height: 1.4;
}

.sn-service__price + .sn-service__price {
	padding-top: 26px !important;
}

.sn-service__price-label {
	margin: 0 0 6px !important;

	color: #334155;

	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

.sn-service__price-value {
	margin: 0 !important;

	color: #64748b;

	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

.sn-service__price strong {
	display: inline-block;

	margin-left: 5px;

	color: #1769ff !important;

	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.2;

	letter-spacing: -0.02em;
}

/* =========================================================
   IP ADDRESS AREA
========================================================= */

.sn-service__option-title {
	margin: 0 0 16px !important;

	color: #334155;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}


/*
 * 画像のレイアウトでは
 * 動的IP / 固定IPは縦並び
 */
.sn-service__options {
	display: flex !important;
	flex-direction: column !important;

	/* 動的IPと固定IPカードの間隔 */
	gap: 14px !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

.sn-service__options .sn-service__option--fixed {
	margin-top: 14px !important;
}


/* =========================================================
   IP OPTION CARD
========================================================= */

.sn-service__option {
	width: 100% !important;

	margin: 0 !important;
	padding: 22px 24px !important;

	background: #ffffff;

	border: 1px solid #e2e8f0;
	border-radius: 6px;

	box-sizing: border-box;
}

/* 固定IP */
.sn-service__option--fixed {
	background: #f7faff;
	border-color: #a9c6ff;
}


/* IP名称 */
.sn-service__option-name {
	margin: 0 0 8px !important;

	color: #101d36;

	font-size: 17px !important;
	font-weight: 700;
	line-height: 1.45;
}


/* IP説明 */
.sn-service__option-text {
	margin: 0 !important;

	color: #64748b;

	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;
}


/* =========================================================
   SERVICE LINK
========================================================= */

.sn-service__link {
	display: inline-flex;
	align-items: center;

	margin-top: 18px;

	color: #1769ff !important;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;

	text-decoration: none !important;
}

.sn-service__link::after {
	content: "→";

	margin-left: 8px;

	transition: transform 0.2s ease;
}

.sn-service__link:hover {
	color: #0f54d8 !important;
}

.sn-service__link:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   SIGNAL HIKARI
========================================================= */

.sn-service--hikari {
	display: flex !important;
	flex-direction: column !important;

	background:
		linear-gradient(
			135deg,
			#ffffff 0%,
			#fffaf4 100%
		);
}

.sn-service--hikari .sn-service__title {
	color: #d96b16;
}

.sn-service--hikari .sn-service__link {
	margin-top: auto;

	padding-top: 28px;

	color: #d96b16 !important;
}

.sn-service--hikari .sn-service__link:hover {
	color: #b8520c !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-services {
		padding: 90px 24px;
	}

	.sn-services__grid {
		grid-template-columns: 1fr;
		gap: 20px;

		margin-top: 50px;
	}

	.sn-service__body {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr);
		gap: 32px;
	}
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-services {
		padding: 72px 20px;
	}

	.sn-section-title {
		font-size: 30px !important;
	}

	.sn-section-lead {
		margin-top: 14px !important;

		font-size: 14px;
	}

	.sn-services__grid {
		grid-template-columns: 1fr;
		gap: 18px;

		margin-top: 44px;
	}

	.sn-service {
		padding: 28px 22px;
	}

	.sn-service__body {
		display: block !important;
	}

	.sn-service__main {
		width: 100%;
	}

	.sn-service__ip-area {
		width: 100%;

		margin-top: 32px;
		padding-top: 28px;

		border-top: 1px solid #e2e8f0;
	}

	.sn-service__title {
		font-size: 25px !important;
	}

	.sn-service__lead {
		font-size: 15px;
	}

	.sn-service__price {
		padding-bottom: 20px !important;
	}

	.sn-service__price + .sn-service__price {
		padding-top: 20px !important;
	}

	.sn-service__option {
		padding: 18px 20px !important;
	}

	.sn-service__option-name {
		font-size: 16px !important;
	}
}

/* =========================================================
   SIGNAL HIKARI
========================================================= */

.sn-service--hikari {
	display: flex !important;
	flex-direction: column !important;

	height: 100%;

	padding: 42px 34px;

	background: #ffffff;

	border: 1px solid #e2e8f0;
	border-radius: 8px;

	box-sizing: border-box;

	box-shadow: 0 8px 30px rgba(15, 35, 65, 0.04);
}


/* =========================================================
   BADGE
========================================================= */

.sn-service__badge--hikari {
	display: inline-flex;

	align-self: flex-start;

	margin: 0 0 22px !important;

	padding: 5px 10px;

	background: #eef4ff;

	border-radius: 3px;

	color: #1769ff;

	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}


/* =========================================================
   TITLE
========================================================= */

.sn-service--hikari .sn-service__title {
	margin: 0 !important;

	color: #101d36;

	font-size: 28px !important;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.02em;
}


/* =========================================================
   LEAD
========================================================= */

.sn-service--hikari .sn-service__lead {
	margin: 16px 0 0 !important;

	color: #334155;

	font-size: 15px;
	font-weight: 600;
	line-height: 1.8;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.sn-service__description {
	margin: 10px 0 0 !important;

	color: #64748b;

	font-size: 13px;
	font-weight: 400;
	line-height: 1.8;
}


/* =========================================================
   PRICE AREA
========================================================= */

.sn-hikari__prices {
	display: flex !important;
	flex-direction: column !important;

	width: 100%;

	margin: 28px 0 0 !important;
	padding: 0 !important;
}

.sn-hikari__price {
	width: 100%;

	margin: 0 !important;
	padding: 0 0 22px !important;

	border-bottom: 1px solid #e2e8f0;

	box-sizing: border-box;
}

.sn-hikari__price + .sn-hikari__price {
	padding-top: 22px !important;
}


/* =========================================================
   PRICE NAME
========================================================= */

.sn-hikari__price-name {
	margin: 0 0 7px !important;

	color: #334155;

	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
}


/* =========================================================
   PRICE VALUE
========================================================= */

.sn-hikari__price-value {
	margin: 0 !important;

	color: #64748b;

	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}

.sn-hikari__price-value strong {
	display: inline-block;

	margin: 0 3px 0 5px;

	color: #1769ff;

	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;

	letter-spacing: -0.02em;
}


/* =========================================================
   PRICE NOTE
========================================================= */

.sn-hikari__price-note {
	margin: 7px 0 0 !important;

	color: #94a3b8;

	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
}


/* =========================================================
   FEATURES
========================================================= */

.sn-hikari__features {
	display: flex !important;
	flex-direction: column !important;

	gap: 8px;

	margin: 24px 0 0 !important;
	padding: 0 !important;
}

.sn-hikari__feature {
	position: relative;

	margin: 0 !important;
	padding: 0 0 0 20px !important;

	color: #334155;

	font-size: 13px;
	font-weight: 600;
	line-height: 1.7;
}

.sn-hikari__feature::before {
	content: "✓";

	position: absolute;

	left: 0;
	top: 0;

	color: #1769ff;

	font-weight: 700;
}


/* =========================================================
   LINK
========================================================= */

.sn-service__link--hikari {
	display: inline-flex;

	align-items: center;

	align-self: flex-start;

	margin-top: auto !important;
	padding-top: 30px;

	color: #1769ff !important;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;

	text-decoration: none !important;
}

.sn-service__link--hikari::after {
	content: "→";

	margin-left: 8px;

	transition: transform 0.2s ease;
}

.sn-service__link--hikari:hover {
	color: #0f54d8 !important;
}

.sn-service__link--hikari:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service--hikari {
		padding: 38px 32px;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-service--hikari {
		padding: 28px 22px;
	}

	.sn-service--hikari .sn-service__title {
		font-size: 25px !important;
	}

	.sn-service--hikari .sn-service__lead {
		font-size: 15px;
	}

	.sn-hikari__price {
		padding-bottom: 18px !important;
	}

	.sn-hikari__price + .sn-hikari__price {
		padding-top: 18px !important;
	}

	.sn-hikari__price-value strong {
		font-size: 23px;
	}

	.sn-service__link--hikari {
		padding-top: 26px;
	}
}

/* =========================================================
   PROBLEMS
========================================================= */

.sn-problems {
	padding: 96px 24px;
	background: #ffffff;
}

.sn-problems__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}


/* =========================================================
   COLUMNS
========================================================= */

.sn-problems__columns {
	width: 100%;
	margin-top: 50px;
}


/* =========================================================
   CARD
========================================================= */

.sn-problem {
	display: flex !important;
	flex-direction: column !important;

	height: 100%;
	min-height: 365px;

	padding: 26px !important;

	background: #ffffff;

	border: 1px solid #e2e8f0;
	border-radius: 8px;

	box-sizing: border-box;

	box-shadow: 0 8px 28px rgba(15, 35, 65, 0.045);

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.sn-problem:hover {
	border-color: #b8cdff;
	box-shadow: 0 12px 34px rgba(15, 35, 65, 0.08);
	transform: translateY(-2px);
}


/* =========================================================
   IMAGE
========================================================= */

.sn-problem__visual {
	display: flex !important;

	justify-content: center !important;
	align-items: center !important;

	width: 100%;
	height: 150px;

	margin: 0 0 22px !important;

	background: #f6f9ff;

	border-radius: 8px;

	overflow: hidden;
}

.sn-problem__visual figure {
	display: flex !important;

	justify-content: center !important;
	align-items: center !important;

	width: 100%;
	height: 100%;

	margin: 0 !important;
}

.sn-problem__visual img {
	display: block;

	width: 100% !important;
	height: 100% !important;

	object-fit: contain;

	margin: 0 !important;
	padding: 8px;

	box-sizing: border-box;
}


/* =========================================================
   CONTENT
========================================================= */

.sn-problem__content {
	display: flex !important;
	flex-direction: column !important;

	flex: 1;

	width: 100%;

	margin: 0 !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-problem__title {
	margin: 0 !important;

	color: #101d36;

	font-size: 18px !important;
	font-weight: 700;
	line-height: 1.5;

	letter-spacing: -0.015em;
}


/* =========================================================
   TEXT
========================================================= */

.sn-problem__text {
	margin: 10px 0 0 !important;

	color: #64748b;

	font-size: 13px;
	font-weight: 400;
	line-height: 1.75;
}


/* =========================================================
   LINK
========================================================= */

.sn-problem__link {
	display: inline-flex;
	align-items: center;

	margin: auto 0 0 !important;
	padding-top: 18px;

	color: #1769ff !important;

	font-size: 13px;
	font-weight: 700;

	text-decoration: none !important;
}

.sn-problem__link::after {
	content: "→";

	margin-left: 7px;

	transition: transform 0.2s ease;
}

.sn-problem__link:hover {
	color: #0f54d8 !important;
}

.sn-problem__link:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-problems {
		padding: 86px 24px;
	}

	.sn-problems__columns {
		margin-top: 46px;
	}

	.sn-problem {
		min-height: 350px;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-problems {
		padding: 72px 20px;
	}

	.sn-problems__columns {
		margin-top: 40px;
	}

	.sn-problem {
		min-height: auto;

		padding: 22px 20px !important;
	}

	.sn-problem__visual {
		height: 150px;

		margin-bottom: 20px !important;
	}

	.sn-problem__title {
		font-size: 17px !important;
	}

	.sn-problem__link {
		margin-top: 16px !important;
		padding-top: 0;
	}

}

/* =========================================================
   BUSINESS
========================================================= */

.sn-business {
	width: 100% !important;
	margin: 0 !important;
	padding: 72px 24px !important;

	background: linear-gradient(
		135deg,
		#082b5c 0%,
		#0c4da2 100%
	) !important;

	box-sizing: border-box;
}


/* =========================================================
   INNER
   ※ Gridにしない
========================================================= */

.sn-business__inner {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box;
}


/* =========================================================
   INTRO
========================================================= */

.sn-business__intro {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #ffffff;
}

.sn-business__eyebrow {
	margin: 0 0 14px !important;

	color: #9fc5ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: 0.12em;
}

.sn-business__title {
	margin: 0 !important;

	color: #ffffff !important;

	font-size: 32px !important;
	font-weight: 700 !important;
	line-height: 1.45;

	letter-spacing: -0.02em;
}

.sn-business__lead {
	max-width: 360px;

	margin: 18px 0 0 !important;

	color: rgba(255, 255, 255, 0.78) !important;

	font-size: 14px !important;
	line-height: 1.9;
}


/* =========================================================
   BUTTON
========================================================= */

.sn-business__button {
	display: inline-flex !important;
	align-items: center !important;

	margin-top: 28px !important;
	padding: 11px 18px !important;

	background: transparent !important;

	border: 1px solid rgba(255,255,255,.7) !important;
	border-radius: 5px !important;

	color: #ffffff !important;

	font-size: 13px !important;
	font-weight: 700 !important;

	text-decoration: none !important;
}

.sn-business__button::after {
	content: "→";
	margin-left: 8px;
}

.sn-business__button:hover {
	background: #ffffff !important;
	color: #1769ff !important;
}


/* =========================================================
   CASES
========================================================= */

.sn-business__cases {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

.sn-business__cases-label {
	margin: 0 0 14px !important;

	color: rgba(255,255,255,.86) !important;

	font-size: 12px !important;
	font-weight: 700 !important;

	letter-spacing: 0.06em;
}


/* =========================================================
   CASE GRID
   ※ 横並びはKadence側に任せる
========================================================= */

.sn-business__case-grid {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   CASE CARD
========================================================= */

.sn-case {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 14px !important;

	background: #ffffff !important;

	border-radius: 8px !important;

	box-sizing: border-box;

	box-shadow:
		0 10px 28px rgba(0,18,48,.18) !important;
}


/* =========================================================
   IMAGE
========================================================= */

.sn-case__image {
	width: 100% !important;

	margin: 0 0 14px !important;
	padding: 0 !important;

	background: #f7f9fc;

	border-radius: 6px;

	overflow: hidden;
}

.sn-case__image figure {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

.sn-case__image img {
	display: block !important;

	width: 100% !important;
	height: 145px !important;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover !important;

	border-radius: 6px;
}


/* =========================================================
   CATEGORY
========================================================= */

.sn-case__category {
	margin: 0 0 6px !important;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4;
}


/* =========================================================
   TITLE
========================================================= */

.sn-case__title {
	margin: 0 !important;

	color: #101d36 !important;

	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.5;
}


/* =========================================================
   COMPANY
========================================================= */

.sn-case__company {
	margin: 6px 0 0 !important;

	color: #64748b !important;

	font-size: 12px !important;
	line-height: 1.6;
}


/* =========================================================
   LINK
========================================================= */

.sn-case__link {
	display: inline-flex !important;
	align-items: center !important;

	margin: auto 0 0 !important;
	padding-top: 14px !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;

	text-decoration: none !important;
}

.sn-case__link::after {
	content: "→";
	margin-left: 7px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-business {
		padding: 68px 24px !important;
	}

	.sn-business__title {
		font-size: 30px !important;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-business {
		padding: 60px 20px !important;
	}

	.sn-business__title {
		font-size: 27px !important;
	}

	.sn-business__lead {
		font-size: 13px !important;
	}

	.sn-case__image img {
		height: 165px !important;
	}

}

/* =========================================================
   INTERNET GUIDE
   インターネットをもっとわかりやすく。
========================================================= */

.sn-guide {
	width: 100%;
	padding: 96px 24px;

	background: #ffffff;

	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-guide__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto;
	padding: 0;

	box-sizing: border-box;
}


/* =========================================================
   GUIDE GRID / COLUMNS
   ※ 横並びはKadence側に任せる
========================================================= */

.sn-guide__grid {
	width: 100% !important;

	margin: 50px 0 0 !important;
	padding: 0 !important;

	box-sizing: border-box;
}


/* =========================================================
   GUIDE CARD
========================================================= */

.sn-guide-card {
	display: flex !important;
	flex-direction: column !important;

	align-items: center !important;

	width: 100% !important;
	height: 100%;

	min-height: 260px;

	margin: 0 !important;
	padding: 24px 18px !important;

	background: #ffffff;

	border: 1px solid #e2e8f0;
	border-radius: 8px;

	box-sizing: border-box;

	box-shadow:
		0 6px 22px rgba(15, 35, 65, 0.035);

	text-align: center;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}


.sn-guide-card:hover {
	border-color: #b8cdff;

	box-shadow:
		0 10px 28px rgba(15, 35, 65, 0.075);

	transform: translateY(-2px);
}


/* =========================================================
   ICON AREA
========================================================= */

.sn-guide-card__icon {
	display: flex !important;

	justify-content: center !important;
	align-items: center !important;

	width: 88px !important;
	height: 88px !important;

	margin: 0 auto 20px !important;
	padding: 0 !important;

	background: #f4f8ff;

	border-radius: 50%;

	overflow: hidden;

	box-sizing: border-box;
}


/* Gutenberg Image Block */

.sn-guide-card__icon figure {
	display: flex !important;

	justify-content: center !important;
	align-items: center !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Image */

.sn-guide-card__icon img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	max-width: none !important;

	margin: 0 !important;
	padding: 4px !important;

	object-fit: contain;

	box-sizing: border-box;
}


/* =========================================================
   TITLE
========================================================= */

.sn-guide-card__title {
	width: 100%;

	margin: 0 !important;

	color: #101d36;

	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.5;

	letter-spacing: -0.01em;

	text-align: center !important;
}


/* =========================================================
   TEXT
========================================================= */

.sn-guide-card__text {
	width: 100%;

	margin: 9px 0 0 !important;

	color: #64748b;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.7;

	text-align: center !important;
}


/* =========================================================
   CARD LINK
   カード内に個別リンクを置く場合
========================================================= */

.sn-guide-card__link {
	display: inline-flex !important;

	align-items: center !important;

	margin: auto 0 0 !important;
	padding-top: 16px;

	color: #1769ff !important;

	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;

	text-decoration: none !important;
}


.sn-guide-card__link::after {
	content: "→";

	margin-left: 6px;

	transition: transform 0.2s ease;
}


.sn-guide-card__link:hover {
	color: #0f54d8 !important;
}


.sn-guide-card__link:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   MORE BUTTON
   記事をもっと見る
========================================================= */

.sn-guide__more {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	margin: 34px auto 0 !important;
	padding: 11px 24px !important;

	background: #ffffff !important;

	border: 1px solid #1769ff !important;
	border-radius: 5px !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	text-decoration: none !important;

	box-shadow: none !important;

	transition:
		background 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}


.sn-guide__more::after {
	content: "→";

	margin-left: 9px;

	transition: transform 0.2s ease;
}


.sn-guide__more:hover {
	background: #1769ff !important;

	color: #ffffff !important;

	transform: translateY(-1px);
}


.sn-guide__more:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-guide {
		padding: 86px 24px;
	}

	.sn-guide__grid {
		margin-top: 46px !important;
	}

	.sn-guide-card {
		min-height: 250px;

		padding: 22px 16px !important;
	}

	.sn-guide-card__icon {
		width: 82px !important;
		height: 82px !important;

		margin-bottom: 18px !important;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-guide {
		padding: 72px 20px;
	}

	.sn-guide__grid {
		margin-top: 40px !important;
	}

	.sn-guide-card {
		min-height: 230px;

		padding: 20px 14px !important;
	}

	.sn-guide-card__icon {
		width: 76px !important;
		height: 76px !important;

		margin-bottom: 16px !important;
	}

	.sn-guide-card__title {
		font-size: 15px !important;
	}

	.sn-guide-card__text {
		font-size: 11px;
	}

	.sn-guide__more {
		margin-top: 28px !important;
	}

}

/* =========================================================
   FINAL CTA
========================================================= */

.sn-final-cta {
	width: 100vw !important;
	max-width: none !important;

	position: relative;

	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;

	padding: 64px 24px !important;

	background:
		linear-gradient(
			135deg,
			#0b4fc3 0%,
			#1769ff 58%,
			#37a8ee 100%
		) !important;

	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-final-cta__inner {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box;
}


/* =========================================================
   CONTENT
========================================================= */

.sn-final-cta__content {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-final-cta__title {
	margin: 0 !important;

	color: #ffffff !important;

	font-size: 32px !important;
	font-weight: 700 !important;
	line-height: 1.45;

	letter-spacing: -0.02em;
}


/* =========================================================
   FEATURES
========================================================= */

.sn-final-cta__features {
	display: flex !important;
	flex-wrap: wrap !important;

	gap: 10px 24px !important;

	margin: 18px 0 0 !important;
	padding: 0 !important;
}


.sn-final-cta__feature {
	position: relative;

	margin: 0 !important;
	padding: 0 0 0 19px !important;

	color: rgba(255, 255, 255, 0.88) !important;

	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.6;
}


.sn-final-cta__feature::before {
	content: "✓";

	position: absolute;

	left: 0;
	top: 0;

	color: #ffffff;

	font-weight: 700;
}


/* =========================================================
   ACTIONS
========================================================= */

.sn-final-cta__actions {
	display: flex !important;

	justify-content: flex-end !important;
	align-items: center !important;

	gap: 14px !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   BUTTON COMMON
========================================================= */

.sn-final-cta__button {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-width: 180px;

	margin: 0 !important;
	padding: 14px 22px !important;

	border-radius: 5px !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	text-decoration: none !important;

	box-shadow: none !important;

	transition:
		transform 0.2s ease,
		background 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease;
}


.sn-final-cta__button:hover {
	transform: translateY(-1px);
}


/* =========================================================
   PRIMARY
   お申し込み
========================================================= */

.sn-final-cta__button--primary {
	background: #ff7600 !important;

	border: 1px solid #ff7600 !important;

	color: #ffffff !important;
}


.sn-final-cta__button--primary:hover {
	background: #e96b00 !important;

	border-color: #e96b00 !important;

	color: #ffffff !important;
}


/* =========================================================
   SECONDARY
   料金・サービスを見る
========================================================= */

.sn-final-cta__button--secondary {
	background: #ffffff !important;

	border: 1px solid #ffffff !important;

	color: #1769ff !important;
}


.sn-final-cta__button--secondary::after {
	content: "→";

	margin-left: 9px;
}


.sn-final-cta__button--secondary:hover {
	background: #f4f8ff !important;

	color: #0f54d8 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-final-cta {
		padding: 58px 24px !important;
	}

	.sn-final-cta__actions {
		justify-content: flex-start !important;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-final-cta {
		padding: 52px 20px !important;
	}

	.sn-final-cta__title {
		font-size: 27px !important;
	}

	.sn-final-cta__features {
		display: block !important;
	}

	.sn-final-cta__feature + .sn-final-cta__feature {
		margin-top: 7px !important;
	}

	.sn-final-cta__actions {
		display: flex !important;
		flex-direction: column !important;

		align-items: stretch !important;

		gap: 12px !important;
	}

	.sn-final-cta__button {
		width: 100% !important;
		min-width: 0 !important;
	}

}

/* =========================================================
   NEWS
========================================================= */

.sn-news {
	padding: 100px 24px 110px;
	background: #ffffff;
}

.sn-news__content {
	width: 100%;
	max-width: 1000px;
	margin: 48px auto 0 !important;
}


/* Query Loop */
.sn-news .wp-block-post-template {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}


/* 1投稿 */
.sn-news .wp-block-post {
	display: grid !important;
	grid-template-columns: 130px 175px minmax(0, 1fr);
	align-items: center;
	column-gap: 24px;

	width: 100% !important;

	margin: 0 !important;
	padding: 20px 0 !important;

	border-top: 1px solid #e2e8f0;

	box-sizing: border-box;
}

.sn-news .wp-block-post:last-child {
	border-bottom: 1px solid #e2e8f0;
}


/* 日付 */
.sn-news .wp-block-post-date {
	margin: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.5;
}

.sn-news .wp-block-post-date time {
	white-space: nowrap;
}


/* カテゴリー */
.sn-news .wp-block-post-terms {
	margin: 0 !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4;
}

.sn-news .wp-block-post-terms a {
	display: inline-block;

	padding: 6px 10px;

	background: #eef5ff;

	border-radius: 3px;

	color: #1769ff !important;

	text-decoration: none !important;

	white-space: nowrap;
}

.sn-news .wp-block-post-terms__separator {
	display: none;
}


/* 投稿タイトル */
.sn-news .wp-block-post-title {
	margin: 0 !important;
	padding: 0 !important;

	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
}


/* タイトルリンク */
.sn-news .wp-block-post-title a {
	display: flex !important;
	align-items: center !important;

	width: 100% !important;

	color: #101d36 !important;

	text-decoration: none !important;

	transition: color 0.2s ease;
}


/* 矢印もリンクの一部 */
.sn-news .wp-block-post-title a::after {
	content: "→";

	margin-left: auto;
	padding-left: 20px;

	color: #1769ff;

	font-size: 15px;
	font-weight: 700;

	flex: 0 0 auto;

	transition: transform 0.2s ease;
}

.sn-news .wp-block-post-title a:hover {
	color: #1769ff !important;
}

.sn-news .wp-block-post-title a:hover::after {
	transform: translateX(4px);
}


/* お知らせ一覧ボタン */
.sn-news__more {
	display: flex;
	justify-content: center;

	margin-top: 34px !important;
}

.sn-news__more .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	padding: 11px 24px !important;

	background: #ffffff !important;

	border: 1px solid #1769ff !important;
	border-radius: 5px !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;

	text-decoration: none !important;
}

.sn-news__more .wp-block-button__link::after {
	content: "→";
	margin-left: 10px;
}

.sn-news__more .wp-block-button__link:hover {
	background: #1769ff !important;
	color: #ffffff !important;
}


/* Tablet */
@media (max-width: 900px) {

	.sn-news {
		padding: 82px 24px 90px;
	}

	.sn-news .wp-block-post {
		grid-template-columns: 110px 150px minmax(0, 1fr);
		column-gap: 16px;
	}
}


/* Smartphone */
@media (max-width: 767px) {

	.sn-news {
		padding: 70px 20px 80px;
	}

	.sn-news__content {
		margin-top: 36px !important;
	}

	.sn-news .wp-block-post {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"date category"
			"title title";

		gap: 8px 12px;

		padding: 20px 0 !important;
	}

	.sn-news .wp-block-post-date {
		grid-area: date;
		font-size: 12px !important;
	}

	.sn-news .wp-block-post-terms {
		grid-area: category;
		font-size: 10px !important;
	}

	.sn-news .wp-block-post-title {
		grid-area: title;
		font-size: 14px !important;
	}

	.sn-news .wp-block-post-title a::after {
		padding-left: 14px;
	}

	.sn-news__more {
		margin-top: 28px !important;
	}
}

/* =========================================================
   CATEGORY ARCHIVE
   障害・メンテナンス情報
========================================================= */

/* ---------------------------------------------------------
   CONTENT WIDTH
--------------------------------------------------------- */

body.category .content-area {
	width: 100%;
	max-width: 1000px;

	margin: 0 auto;
	padding: 72px 24px 90px;

	box-sizing: border-box;
}


/* =========================================================
   ARCHIVE HEADER
========================================================= */

body.category .page-header {
	margin: 0 0 48px !important;
	padding: 0 !important;

	background: transparent !important;

	text-align: left;
}

body.category .page-title,
body.category .archive-title {
	margin: 0 !important;

	color: #101d36;

	font-size: 38px !important;
	font-weight: 700;
	line-height: 1.4;

	letter-spacing: -0.02em;
}


/* =========================================================
   POSTS CONTAINER
========================================================= */

body.category .site-main {
	width: 100%;
}


/* =========================================================
   POST
========================================================= */

body.category article {
	width: 100% !important;

	margin: 0 !important;
	padding: 26px 0 !important;

	background: transparent !important;

	border: 0 !important;
	border-top: 1px solid #e2e8f0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;
}

body.category article:last-of-type {
	border-bottom: 1px solid #e2e8f0 !important;
}


/* =========================================================
   KADENCE CONTENT WRAPPER
========================================================= */

body.category article .entry-content-wrap {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	box-shadow: none !important;
}


/* =========================================================
   CATEGORY
========================================================= */

body.category article .entry-taxonomies {
	margin: 0 0 10px !important;

	font-size: 11px !important;
	font-weight: 700;
	line-height: 1.4;
}

body.category article .entry-taxonomies a {
	display: inline-block;

	padding: 5px 10px;

	background: #eef5ff;

	border-radius: 3px;

	color: #1769ff !important;

	text-decoration: none !important;
}


/* =========================================================
   TITLE
========================================================= */

body.category article .entry-title {
	margin: 0 !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.55;
}

body.category article .entry-title a {
	display: inline-flex;
	align-items: center;

	color: #101d36 !important;

	text-decoration: none !important;

	transition: color 0.2s ease;
}

body.category article .entry-title a::after {
	content: "→";

	margin-left: 12px;

	color: #1769ff;

	font-size: 15px;
	font-weight: 700;

	transition: transform 0.2s ease;
}

body.category article .entry-title a:hover {
	color: #1769ff !important;
}

body.category article .entry-title a:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   META
========================================================= */

body.category article .entry-meta {
	margin: 10px 0 0 !important;

	color: #64748b;

	font-size: 12px !important;
	line-height: 1.5;
}


/* 投稿者を非表示 */

body.category article .byline,
body.category article .author {
	display: none !important;
}


/* 投稿日は残す */

body.category article .posted-on,
body.category article time {
	color: #64748b !important;

	font-size: 12px !important;
}


/* =========================================================
   EXCERPT
========================================================= */

body.category article .entry-summary,
body.category article .entry-content {
	display: none !important;
}


/* =========================================================
   READ MORE
========================================================= */

body.category article .more-link,
body.category article .post-more-link {
	display: none !important;
}


/* =========================================================
   FEATURED IMAGE
========================================================= */

body.category article .post-thumbnail,
body.category article .entry-image,
body.category article .post-thumbnail-inner {
	display: none !important;
}


/* =========================================================
   PAGINATION
========================================================= */

body.category .pagination,
body.category .navigation.pagination {
	margin-top: 42px;

	text-align: center;
}

body.category .page-numbers {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-width: 38px;
	height: 38px;

	margin: 0 3px;
	padding: 0 10px;

	border: 1px solid #e2e8f0;
	border-radius: 4px;

	color: #334155 !important;

	font-size: 13px;
	font-weight: 600;

	text-decoration: none !important;
}

body.category .page-numbers.current {
	background: #1769ff;

	border-color: #1769ff;

	color: #ffffff !important;
}

body.category a.page-numbers:hover {
	border-color: #1769ff;

	color: #1769ff !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

	body.category .content-area {
		padding: 64px 24px 80px;
	}

	body.category .page-title,
	body.category .archive-title {
		font-size: 34px !important;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	body.category .content-area {
		padding: 52px 20px 68px;
	}

	body.category .page-header {
		margin-bottom: 34px !important;
	}

	body.category .page-title,
	body.category .archive-title {
		font-size: 29px !important;
	}

	body.category article {
		padding: 22px 0 !important;
	}

	body.category article .entry-title {
		font-size: 16px !important;
	}

	body.category article .entry-title a {
		align-items: flex-start;
	}

	body.category article .entry-title a::after {
		margin-left: 8px;
		margin-top: 3px;
	}

}

/* =========================================================
   NEWS ARCHIVE PAGE
   /news/
========================================================= */

.sn-news-page {
	width: 100%;
	padding: 100px 24px 110px;

	background: #ffffff;

	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-news-page__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto;
	padding: 0;

	box-sizing: border-box;
}


/* =========================================================
   PAGE TITLE
========================================================= */

.sn-news-page__title {
	margin: 0 !important;

	color: #101d36;

	font-size: 42px !important;
	font-weight: 700;
	line-height: 1.4;

	letter-spacing: -0.02em;

	text-align: center;
}


/* =========================================================
   CONTENT
========================================================= */

.sn-news-page__content {
	width: 100%;
	max-width: 1000px;

	margin: 52px auto 0 !important;
}


/* =========================================================
   QUERY LOOP
========================================================= */

.sn-news-page .wp-block-query {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   POST TEMPLATE
========================================================= */

.sn-news-page .wp-block-post-template {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;
}


/* =========================================================
   POST ROW
========================================================= */

.sn-news-page .wp-block-post-template > li {
	display: grid !important;

	grid-template-columns:
		130px
		190px
		minmax(0, 1fr);

	align-items: center !important;

	column-gap: 24px !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 24px 0 !important;

	border-top: 1px solid #e2e8f0;

	box-sizing: border-box;
}


.sn-news-page .wp-block-post-template > li:last-child {
	border-bottom: 1px solid #e2e8f0;
}


/* =========================================================
   DATE
========================================================= */

.sn-news-page .wp-block-post-date {
	margin: 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.5;

	white-space: nowrap;
}


.sn-news-page .wp-block-post-date a {
	color: #64748b !important;

	text-decoration: none !important;
}


/* =========================================================
   CATEGORY
========================================================= */

.sn-news-page .wp-block-post-terms {
	margin: 0 !important;
	padding: 0 !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4;
}


.sn-news-page .wp-block-post-terms a {
	display: inline-block;

	padding: 6px 10px;

	background: #eef5ff;

	border-radius: 3px;

	color: #1769ff !important;

	font-size: 11px;
	font-weight: 700;

	text-decoration: none !important;

	white-space: nowrap;
}


.sn-news-page .wp-block-post-terms a:hover {
	background: #e2edff;
}


.sn-news-page .wp-block-post-terms__separator {
	display: none;
}


/* =========================================================
   POST TITLE
========================================================= */

.sn-news-page .wp-block-post-title {
	margin: 0 !important;
	padding: 0 !important;

	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
}


/* タイトルをリンクにする設定がONであること */

.sn-news-page .wp-block-post-title a {
	display: flex !important;

	align-items: center !important;

	width: 100% !important;

	color: #101d36 !important;

	text-decoration: none !important;

	transition: color 0.2s ease;
}


/* 矢印もリンク領域 */

.sn-news-page .wp-block-post-title a::after {
	content: "→";

	margin-left: auto;
	padding-left: 24px;

	color: #1769ff;

	font-size: 15px;
	font-weight: 700;

	flex: 0 0 auto;

	transition: transform 0.2s ease;
}


.sn-news-page .wp-block-post-title a:hover {
	color: #1769ff !important;
}


.sn-news-page .wp-block-post-title a:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   PAGINATION
========================================================= */

.sn-news-page .wp-block-query-pagination {
	display: flex !important;

	justify-content: center !important;
	align-items: center !important;

	gap: 6px;

	margin: 42px 0 0 !important;
	padding: 0 !important;
}


/* 前へ / 次へ */

.sn-news-page .wp-block-query-pagination-previous,
.sn-news-page .wp-block-query-pagination-next {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-height: 40px;

	padding: 0 14px;

	border: 1px solid #e2e8f0;
	border-radius: 4px;

	color: #334155 !important;

	font-size: 13px;
	font-weight: 600;

	text-decoration: none !important;
}


.sn-news-page .wp-block-query-pagination-previous:hover,
.sn-news-page .wp-block-query-pagination-next:hover {
	border-color: #1769ff;

	color: #1769ff !important;
}


/* ページ番号 */

.sn-news-page .wp-block-query-pagination-numbers {
	display: flex;

	align-items: center;

	gap: 5px;

	margin: 0 !important;
}


.sn-news-page .page-numbers {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-width: 40px;
	height: 40px;

	padding: 0 8px;

	border: 1px solid #e2e8f0;
	border-radius: 4px;

	color: #334155 !important;

	font-size: 13px;
	font-weight: 600;

	text-decoration: none !important;

	box-sizing: border-box;
}


.sn-news-page .page-numbers:hover {
	border-color: #1769ff;

	color: #1769ff !important;
}


.sn-news-page .page-numbers.current {
	background: #1769ff;

	border-color: #1769ff;

	color: #ffffff !important;
}


/* =========================================================
   NO RESULTS
========================================================= */

.sn-news-page .wp-block-query-no-results {
	padding: 40px 0;

	color: #64748b;

	font-size: 14px;

	text-align: center;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

	.sn-news-page {
		padding: 82px 24px 90px;
	}

	.sn-news-page__title {
		font-size: 36px !important;
	}

	.sn-news-page .wp-block-post-template > li {
		grid-template-columns:
			110px
			160px
			minmax(0, 1fr);

		column-gap: 18px !important;

		padding: 21px 0 !important;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-news-page {
		padding: 70px 20px 80px;
	}

	.sn-news-page__title {
		font-size: 30px !important;
	}

	.sn-news-page__content {
		margin-top: 38px !important;
	}


	/* -----------------------------------------
	   POST
	----------------------------------------- */

	.sn-news-page .wp-block-post-template > li {
		display: grid !important;

		grid-template-columns:
			auto
			minmax(0, 1fr);

		grid-template-areas:
			"date category"
			"title title";

		gap: 9px 12px !important;

		padding: 20px 0 !important;
	}


	/* Date */

	.sn-news-page .wp-block-post-date {
		grid-area: date;

		font-size: 12px !important;
	}


	/* Category */

	.sn-news-page .wp-block-post-terms {
		grid-area: category;
	}

	.sn-news-page .wp-block-post-terms a {
		padding: 5px 8px;

		font-size: 10px;
	}


	/* Title */

	.sn-news-page .wp-block-post-title {
		grid-area: title;

		font-size: 15px !important;
	}


	.sn-news-page .wp-block-post-title a {
		align-items: flex-start !important;
	}


	.sn-news-page .wp-block-post-title a::after {
		margin-top: 4px;

		padding-left: 12px;
	}


	/* Pagination */

	.sn-news-page .wp-block-query-pagination {
		flex-wrap: wrap;

		margin-top: 32px !important;
	}

}

/* =========================================================
   HEADER - MY PAGE
========================================================= */

.header-navigation a[href="https://mypage.signalnetwork.jp/"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-height: 40px;

	padding: 8px 16px !important;

	background: #ffffff !important;

	border: 1px solid #1769ff !important;
	border-radius: 5px;

	color: #1769ff !important;

	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;

	text-decoration: none !important;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.header-navigation a[href="https://mypage.signalnetwork.jp/"]:hover {
	background: #1769ff !important;

	color: #ffffff !important;
}

/* =========================================================
   FOOTER
========================================================= */

.site-footer {
	background: #0b1f3a !important;
	color: rgba(255,255,255,.72);
}


/* =========================================================
   FOOTER INNER
========================================================= */

.site-footer .site-container {
	max-width: 1200px;
}


/* =========================================================
   WIDGET TITLE
========================================================= */

.site-footer .widget-title {
	margin: 0 0 18px !important;

	color: #ffffff !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.5;
}


/* =========================================================
   TEXT
========================================================= */

.site-footer p {
	color: rgba(255,255,255,.68);

	font-size: 13px;
	line-height: 1.8;
}


/* =========================================================
   LINKS
========================================================= */

.site-footer a {
	color: rgba(255,255,255,.76) !important;

	font-size: 13px;
	line-height: 1.7;

	text-decoration: none !important;

	transition: color .2s ease;
}

.site-footer a:hover {
	color: #ffffff !important;
}


/* =========================================================
   MENU
========================================================= */

.site-footer ul {
	margin: 0;
	padding: 0;

	list-style: none;
}

.site-footer li {
	margin: 0 0 10px;
}


/* =========================================================
   LOGO
========================================================= */

.site-footer .site-branding {
	margin-bottom: 20px;
}

.site-footer .custom-logo {
	max-width: 180px;
}


/* =========================================================
   TOP FOOTER ROW
========================================================= */

.site-footer .site-top-footer-wrap {
	padding: 56px 24px 46px;

	border-bottom: 1px solid rgba(255,255,255,.12);
}


/* =========================================================
   BOTTOM FOOTER ROW
========================================================= */

.site-footer .site-bottom-footer-wrap {
	padding: 20px 24px;

	background: #08172c !important;
}


/* =========================================================
   COPYRIGHT
========================================================= */

.site-footer .site-info,
.site-footer .site-info a {
	color: rgba(255,255,255,.55) !important;

	font-size: 12px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.site-footer .site-top-footer-wrap {
		padding: 44px 20px 36px;
	}

	.site-footer .site-bottom-footer-wrap {
		padding: 18px 20px;
	}

	.site-footer .widget-title {
		margin-top: 24px !important;
	}

	.site-footer .custom-logo {
		max-width: 150px;
	}

}


/* =========================================================
   v6 PLUS HERO
========================================================= */


/* =========================================================
   HERO OUTER
========================================================= */

.sn-v6-hero {
	position: relative !important;
	isolation: isolate;

	width: 100% !important;
	max-width: 1200px !important;

	min-height: 620px !important;

	margin-left: auto !important;
	margin-right: auto !important;

	overflow: hidden !important;

	box-sizing: border-box;
}


/*
 * 背景画像はKadence Row Layout側で設定
 *
 * Background Size      : Cover
 * Background Position  : Center Center
 * Background Repeat    : No Repeat
 * Attachment           : Scroll
 * Overlay              : OFF
 */


/* =========================================================
   GRADIENT OVERLAY
   左側：白 / 右側：画像
========================================================= */

.sn-v6-hero::after {
	content: "";

	position: absolute;
	inset: 0;

	z-index: 1;

	pointer-events: none;

	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 28%,
		rgba(255, 255, 255, 0.98) 36%,
		rgba(255, 255, 255, 0.92) 44%,
		rgba(255, 255, 255, 0.76) 52%,
		rgba(255, 255, 255, 0.48) 60%,
		rgba(255, 255, 255, 0.18) 68%,
		rgba(255, 255, 255, 0) 78%
	);

	box-sizing: border-box;
}


/* =========================================================
   KADENCE INNER WRAPPER
========================================================= */

.sn-v6-hero .kt-row-column-wrap {
	position: relative !important;

	z-index: 2 !important;

	width: 100% !important;
	max-width: 1200px !important;

	min-height: 620px !important;

	margin-left: auto !important;
	margin-right: auto !important;

	padding: 0 !important;

	box-sizing: border-box;
}


/* =========================================================
   HERO INNER
========================================================= */

.sn-v6-hero__inner {
	position: relative;

	z-index: 3;

	width: 100%;
	min-height: 620px;

	margin: 0 auto;
	padding: 72px 64px;

	box-sizing: border-box;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.sn-v6-hero__content {
	position: relative;

	z-index: 4;

	width: 100%;
	max-width: 540px;

	margin: 0;
	padding: 0;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-v6-hero__eyebrow {
	margin: 0 0 16px !important;

	color: #1769ff;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	letter-spacing: 0.10em;

	text-transform: uppercase;
}


/* =========================================================
   LEAD COPY
========================================================= */

.sn-v6-hero__lead {
	max-width: 520px;

	margin: 0 0 8px !important;

	color: #0b2347;

	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	letter-spacing: -0.02em;
}


/* =========================================================
   TITLE
========================================================= */

.sn-v6-hero__title {
	margin: 0 0 24px !important;

	color: #1769ff;

	font-size: 72px !important;
	font-weight: 800 !important;
	line-height: 1.05;

	letter-spacing: -0.04em;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.sn-v6-hero__description {
	max-width: 520px;

	margin: 0 !important;

	color: #334155;

	font-size: 15px !important;
	font-weight: 400;
	line-height: 1.9;
}


/* =========================================================
   BUTTONS
========================================================= */

.sn-v6-hero__buttons {
	display: flex !important;

	flex-wrap: wrap !important;

	align-items: center !important;

	gap: 14px !important;

	margin: 28px 0 0 !important;
	padding: 0 !important;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.sn-v6-hero__buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 14px !important;

	margin: 28px 0 0 !important;
	padding: 0 !important;
}

.sn-v6-hero__buttons .wp-block-button {
	margin: 0 !important;
}


/* =========================================================
   PRIMARY
   今すぐお申し込み
========================================================= */

.sn-v6-hero__button-primary .wp-block-button__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-width: 190px;

	padding: 13px 22px !important;

	background: #f97316 !important;
	border: 1px solid #f97316 !important;
	border-radius: 5px !important;

	color: #ffffff !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	text-decoration: none !important;

	box-shadow: none !important;

	transition:
		background-color .2s ease,
		border-color .2s ease,
		transform .2s ease;
}

.sn-v6-hero__button-primary .wp-block-button__link::after {
	content: "→";
	margin-left: 12px;
}

.sn-v6-hero__button-primary .wp-block-button__link:hover {
	background: #e8670d !important;
	border-color: #e8670d !important;

	transform: translateY(-1px);
}


/* =========================================================
   SECONDARY
   料金を確認する
========================================================= */

.sn-v6-hero__button-secondary .wp-block-button__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-width: 190px;

	padding: 13px 22px !important;

	background: rgba(255,255,255,.92) !important;
	border: 1px solid #1769ff !important;
	border-radius: 5px !important;

	color: #1769ff !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	text-decoration: none !important;

	box-shadow: none !important;

	transition:
		background-color .2s ease,
		color .2s ease,
		transform .2s ease;
}

.sn-v6-hero__button-secondary .wp-block-button__link::after {
	content: "→";
	margin-left: 12px;
}

.sn-v6-hero__button-secondary .wp-block-button__link:hover {
	background: #1769ff !important;
	color: #ffffff !important;

	transform: translateY(-1px);
}

/* =========================================================
   HERO FEATURES
========================================================= */

.sn-v6-hero__features {
	position: absolute;

	z-index: 4;

	top: 58px;
	right: 44px;

	display: flex !important;

	align-items: stretch !important;

	gap: 14px !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   FEATURE ITEM
========================================================= */

.sn-v6-hero__feature {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 132px;
	height: 132px;

	margin: 0 !important;
	padding: 18px 14px !important;

	background: rgba(255, 255, 255, 0.94);

	border: 1px solid rgba(23, 105, 255, 0.18);
	border-radius: 50%;

	box-sizing: border-box;

	box-shadow:
		0 8px 30px rgba(15, 45, 85, 0.10);

	color: #0b2b5c;

	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;

	text-align: center;
}


/* feature内の段落margin除去 */
.sn-v6-hero__feature p {
	margin: 0 !important;

	color: inherit;

	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;

	text-align: center;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6-hero,
	.sn-v6-hero .kt-row-column-wrap,
	.sn-v6-hero__inner {
		min-height: 560px !important;
	}


	.sn-v6-hero__inner {
		padding: 64px 42px;
	}


	.sn-v6-hero::after {
		background: linear-gradient(
			90deg,
			rgba(255,255,255,1) 0%,
			rgba(255,255,255,.98) 34%,
			rgba(255,255,255,.88) 46%,
			rgba(255,255,255,.62) 58%,
			rgba(255,255,255,.28) 70%,
			rgba(255,255,255,0) 86%
		);
	}


	.sn-v6-hero__content {
		max-width: 470px;
	}


	.sn-v6-hero__lead {
		font-size: 24px !important;
	}


	.sn-v6-hero__title {
		font-size: 60px !important;
	}


	.sn-v6-hero__description {
		font-size: 14px !important;
	}


	.sn-v6-hero__features {
		top: 38px;
		right: 28px;

		gap: 10px !important;
	}


	.sn-v6-hero__feature {
		width: 112px;
		height: 112px;

		padding: 14px 10px !important;

		font-size: 12px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6-hero {
		max-width: none !important;

		min-height: auto !important;
	}


	.sn-v6-hero .kt-row-column-wrap {
		min-height: auto !important;
	}


	.sn-v6-hero__inner {
		min-height: auto !important;

		padding: 54px 20px 42px;
	}


	/*
	 * スマホでは左右グラデーションではなく、
	 * 画像全体を白く抑える
	 */
	.sn-v6-hero::after {
		background: rgba(255,255,255,.88);
	}


	.sn-v6-hero__content {
		max-width: none;
	}


	.sn-v6-hero__eyebrow {
		margin-bottom: 12px !important;

		font-size: 11px !important;
	}


	.sn-v6-hero__lead {
		max-width: none;

		font-size: 21px !important;
		line-height: 1.5;
	}


	.sn-v6-hero__title {
		margin-bottom: 20px !important;

		font-size: 46px !important;
	}


	.sn-v6-hero__description {
		max-width: none;

		font-size: 14px !important;
		line-height: 1.85;
	}


	/* Buttons */

	.sn-v6-hero__buttons {
		display: flex !important;

		flex-direction: column !important;

		align-items: stretch !important;

		gap: 10px !important;

		margin-top: 24px !important;
	}


	.sn-v6-hero__buttons .wp-block-button {
		width: 100% !important;
	}


	.sn-v6-hero__button-primary .wp-block-button__link,
	.sn-v6-hero__button-secondary .wp-block-button__link,
	a.sn-v6-hero__button-primary,
	a.sn-v6-hero__button-secondary {
		width: 100% !important;
		min-width: 0 !important;
	}


	/* Feature areaを通常フローへ */

	.sn-v6-hero__features {
		position: relative;

		top: auto;
		right: auto;

		display: grid !important;

		grid-template-columns:
			repeat(3, minmax(0, 1fr));

		gap: 8px !important;

		width: 100%;

		margin-top: 34px !important;
	}


	.sn-v6-hero__feature {
		width: 100%;
		height: auto;
		min-height: 96px;

		padding: 12px 8px !important;

		border-radius: 6px;

		font-size: 11px;
		line-height: 1.55;
	}

}

/* =========================================================
   v6 PLUS - REASONS
   v6プラスが選ばれる理由
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6-reasons {
	width: 100%;
	padding: 96px 24px 104px;
	background: #ffffff;
	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6-reasons__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}


/* =========================================================
   SECTION EYEBROW
========================================================= */

.sn-v6-reasons__eyebrow {
	margin: 0 0 14px !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: 0.12em;
	text-align: center !important;
	text-transform: uppercase;
}


/* =========================================================
   SECTION TITLE
========================================================= */

.sn-v6-reasons__title {
	margin: 0 !important;

	color: #101d36 !important;

	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: -0.02em;
	text-align: center !important;
}


/* =========================================================
   SECTION INTRO
========================================================= */

.sn-v6-reasons__intro {
	max-width: 760px;

	margin: 18px auto 0 !important;

	color: #64748b !important;

	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.8;

	text-align: center !important;
}


/* =========================================================
   CARD GRID
========================================================= */

.sn-v6-reasons__grid {
	display: grid !important;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 22px;

	width: 100%;

	margin: 52px 0 0 !important;
	padding: 0 !important;

	box-sizing: border-box;

	align-items: stretch;
}


/* =========================================================
   CARD
========================================================= */

.sn-v6-reason-card {
	position: relative;

	display: flex !important;
	flex-direction: column !important;

	width: 100%;
	height: 100%;

	min-height: 395px;

	margin: 0 !important;
	padding: 28px 24px 26px !important;

	background: #f8fafd;

	border: 1px solid #e1e8f2;
	border-radius: 8px;

	box-sizing: border-box;

	box-shadow:
		0 8px 26px rgba(15, 35, 65, 0.035);

	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}


.sn-v6-reason-card:hover {
	transform: translateY(-3px);

	border-color: #c7d7f5;

	box-shadow:
		0 12px 32px rgba(15, 35, 65, 0.075);
}


/* =========================================================
   NUMBER
   01 / 02 / 03 / 04
========================================================= */

.sn-v6-reason-card__number {
	display: block !important;

	width: 100% !important;

	margin: 0 0 16px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: 0.12em;

	text-align: center !important;
}


/* Gutenberg段落の余白を強制解除 */
.sn-v6-reason-card__number p {
	margin: 0 !important;
	padding: 0 !important;

	text-align: center !important;
}


/* =========================================================
   ICON
========================================================= */

.sn-v6-reason-card__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 96px !important;
	height: 96px !important;

	margin: 0 auto 24px !important;
	padding: 0 !important;

	background: #ffffff;

	border-radius: 8px;

	overflow: hidden;

	box-sizing: border-box;
}


/* Gutenberg Image Block対策 */
.sn-v6-reason-card__icon figure {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Gutenberg画像 */
.sn-v6-reason-card__icon img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	max-width: 100% !important;
	max-height: 100% !important;

	margin: 0 auto !important;
	padding: 5px !important;

	object-fit: contain;

	box-sizing: border-box;
}


/* =========================================================
   CARD TITLE
========================================================= */

.sn-v6-reason-card__title {
	width: 100%;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.55;

	letter-spacing: -0.01em;

	text-align: left !important;
}


/* 見出し内部対策 */
.sn-v6-reason-card__title h3,
.sn-v6-reason-card__title h4,
.sn-v6-reason-card__title p {
	margin: 0 !important;
	padding: 0 !important;

	color: inherit !important;

	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;

	text-align: left !important;
}


/* =========================================================
   CARD TEXT
========================================================= */

.sn-v6-reason-card__text {
	width: 100%;

	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #56657a !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.85;

	text-align: left !important;
}


/* Gutenberg段落対策 */
.sn-v6-reason-card__text p {
	margin: 0 !important;
	padding: 0 !important;

	color: inherit !important;

	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;

	text-align: left !important;
}


/* =========================================================
   BADGE
   固定IP 1 / 8 / 16
   フレッツ光クロス対応
========================================================= */

.sn-v6-reason-card__badge {
	display: block !important;

	width: 100%;

	margin: auto 0 0 !important;
	padding: 18px 0 0 !important;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	text-align: left !important;
}


/* Gutenberg段落の場合 */
.sn-v6-reason-card__badge p {
	margin: 0 !important;
	padding: 0 !important;

	color: inherit !important;

	font-size: inherit !important;
	font-weight: inherit !important;

	text-align: left !important;
}


/* =========================================================
   FEATURED CARD
   必要な場合のみ03・04に追加
========================================================= */

.sn-v6-reason-card--featured {
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f4f8ff 100%
		);

	border-color: #bdd2ff;
}


/* =========================================================
   TABLET
   768px - 1024px
========================================================= */

@media (max-width: 1024px) {

	.sn-v6-reasons {
		padding: 82px 24px 90px;
	}


	.sn-v6-reasons__title {
		font-size: 34px !important;
	}


	.sn-v6-reasons__intro {
		max-width: 680px;
	}


	.sn-v6-reasons__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 20px;

		margin-top: 46px !important;
	}


	.sn-v6-reason-card {
		min-height: 360px;

		padding: 26px 24px 24px !important;
	}


	.sn-v6-reason-card__icon {
		width: 92px !important;
		height: 92px !important;

		margin-bottom: 22px !important;
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 767px) {

	.sn-v6-reasons {
		padding: 68px 20px 74px;
	}


	/* -----------------------------------------
	   Section heading
	----------------------------------------- */

	.sn-v6-reasons__eyebrow {
		margin-bottom: 10px !important;

		font-size: 11px !important;
	}


	.sn-v6-reasons__title {
		font-size: 28px !important;
		line-height: 1.45;
	}


	.sn-v6-reasons__intro {
		max-width: 100%;

		margin-top: 14px !important;

		font-size: 14px !important;
		line-height: 1.8;
	}


	/* -----------------------------------------
	   Grid
	----------------------------------------- */

	.sn-v6-reasons__grid {
		grid-template-columns: 1fr;

		gap: 16px;

		margin-top: 38px !important;
	}


	/* -----------------------------------------
	   Card
	----------------------------------------- */

	.sn-v6-reason-card {
		min-height: auto;

		padding: 24px 22px 26px !important;
	}


	/* -----------------------------------------
	   Number
	----------------------------------------- */

	.sn-v6-reason-card__number {
		margin-bottom: 14px !important;

		font-size: 11px !important;
	}


	/* -----------------------------------------
	   Icon
	----------------------------------------- */

	.sn-v6-reason-card__icon {
		width: 88px !important;
		height: 88px !important;

		margin: 0 auto 20px !important;
	}


	/* -----------------------------------------
	   Title
	----------------------------------------- */

	.sn-v6-reason-card__title {
		font-size: 17px !important;
		line-height: 1.55;
	}


	/* -----------------------------------------
	   Text
	----------------------------------------- */

	.sn-v6-reason-card__text {
		margin-top: 10px !important;

		font-size: 13px !important;
		line-height: 1.8;
	}


	/* -----------------------------------------
	   Badge
	----------------------------------------- */

	.sn-v6-reason-card__badge {
		margin-top: 18px !important;
		padding-top: 0 !important;
	}

}


/* =========================================================
   VERY SMALL SMARTPHONE
========================================================= */

@media (max-width: 480px) {

	.sn-v6-reasons {
		padding-left: 16px;
		padding-right: 16px;
	}


	.sn-v6-reasons__title {
		font-size: 26px !important;
	}


	.sn-v6-reason-card {
		padding:
			22px
			20px
			24px !important;
	}


	.sn-v6-reason-card__icon {
		width: 84px !important;
		height: 84px !important;
	}

}

/* =========================================================
   v6 PLUS - USE CASES
========================================================= */

.sn-v6-usecases {
	width: 100%;
	padding: 96px 24px 104px;
	background: #f6f9fd;
	box-sizing: border-box;
}


/* =========================================================
   INNER - 2 COLUMNS
========================================================= */

.sn-v6-usecases__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto !important;
	padding: 0 !important;

	background: #fff;
	border: 1px solid #e1e8f2;
	border-radius: 10px;

	overflow: hidden;

	box-shadow: 0 10px 30px rgba(15,35,65,.05);
}


/* Kadence Row Layout */
.sn-v6-usecases__inner > .kt-row-column-wrap,
.sn-v6-usecases__inner .kt-row-column-wrap {
	display: grid !important;

	grid-template-columns:
		minmax(0, 45fr)
		minmax(0, 55fr) !important;

	gap: 0 !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	align-items: stretch !important;
}


/* =========================================================
   KADENCE COLUMN RESET
========================================================= */

.sn-v6-usecases__inner .wp-block-kadence-column {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


.sn-v6-usecases__inner .kt-inside-inner-col {
	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.sn-v6-usecases__content {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 46px 44px !important;

	box-sizing: border-box;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-v6-usecases__eyebrow {
	margin: 0 0 12px !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .12em;
}


/* =========================================================
   TITLE
========================================================= */

.sn-v6-usecases__title {
	width: 100% !important;

	margin: 0 !important;

	color: #101d36 !important;

	font-size: 32px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;

	letter-spacing: -.02em;

	word-break: normal !important;
	overflow-wrap: normal !important;
}


/* =========================================================
   INTRO
========================================================= */

.sn-v6-usecases__intro {
	width: 100% !important;
	max-width: 450px !important;

	margin: 16px 0 0 !important;

	color: #64748b !important;

	font-size: 14px !important;
	line-height: 1.8 !important;

	word-break: normal !important;
}


/* =========================================================
   LIST
========================================================= */

.sn-v6-usecases__list {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 30px 0 0 !important;
	padding: 0 !important;
}


/* Gutenberg Groupのflex設定を解除 */
.sn-v6-usecases__list.is-layout-flex,
.sn-v6-usecases__list.wp-block-group-is-layout-flex {
	display: block !important;
}


/* =========================================================
   USE CASE
========================================================= */

.sn-v6-usecase {
	position: relative !important;

	display: block !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 15px 0 15px 34px !important;

	border-bottom: 1px solid #e7edf5;

	box-sizing: border-box;
}


.sn-v6-usecase:first-child {
	padding-top: 0 !important;
}


.sn-v6-usecase:last-child {
	padding-bottom: 0 !important;

	border-bottom: none;
}


/* =========================================================
   CHECK
========================================================= */

/*
 * Gridをやめ、チェックをabsolute配置します。
 * これで本文幅が潰れることがありません。
 */

.sn-v6-usecase__check {
	position: absolute !important;

	top: 16px !important;
	left: 0 !important;

	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 20px !important;
	height: 20px !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 1.5px solid #1769ff;
	border-radius: 50%;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	box-sizing: border-box;
}


.sn-v6-usecase:first-child .sn-v6-usecase__check {
	top: 1px !important;
}


/* =========================================================
   BODY
========================================================= */

.sn-v6-usecase__body {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Gutenbergがflexを付けても解除 */

.sn-v6-usecase__body.is-layout-flex,
.sn-v6-usecase__body.wp-block-group-is-layout-flex {
	display: block !important;
}


/* =========================================================
   USE CASE TITLE
========================================================= */

.sn-v6-usecase__title {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;

	text-align: left !important;

	word-break: normal !important;
	overflow-wrap: anywhere !important;
}


/* =========================================================
   USE CASE TEXT
========================================================= */

.sn-v6-usecase__text {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 5px 0 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;

	text-align: left !important;

	word-break: normal !important;
}


/* =========================================================
   VISUAL
========================================================= */

.sn-v6-usecases__visual {
	position: relative;

	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;
	min-height: 560px;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	background: #eef4fa;
}


.sn-v6-usecases__visual figure,
.sn-v6-usecases__visual .wp-block-image {
	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


.sn-v6-usecases__visual img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	min-height: 560px;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover !important;

	/*
	 * 今の画像では右のサーバーと
	 * 手前のPCを見せたいので少し右寄せ
	 */
	object-position: 58% center !important;
}


/* =========================================================
   IMAGE EDGE
========================================================= */

.sn-v6-usecases__visual::after {
	content: "";

	position: absolute;
	inset: 0;

	pointer-events: none;

	background: linear-gradient(
		90deg,
		rgba(255,255,255,.12) 0%,
		rgba(255,255,255,0) 18%
	);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6-usecases {
		padding: 82px 24px 90px;
	}


	.sn-v6-usecases__inner .kt-row-column-wrap {
		grid-template-columns:
			minmax(0,48fr)
			minmax(0,52fr) !important;
	}


	.sn-v6-usecases__content {
		padding: 38px 32px !important;
	}


	.sn-v6-usecases__title {
		font-size: 27px !important;
	}


	.sn-v6-usecases__visual,
	.sn-v6-usecases__visual img {
		min-height: 520px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6-usecases {
		padding: 68px 20px 74px;
	}


	.sn-v6-usecases__inner .kt-row-column-wrap {
		display: block !important;
	}


	.sn-v6-usecases__content {
		padding: 32px 24px !important;
	}


	.sn-v6-usecases__title {
		font-size: 25px !important;
	}


	.sn-v6-usecases__intro {
		font-size: 14px !important;
	}


	.sn-v6-usecases__list {
		margin-top: 26px !important;
	}


	.sn-v6-usecase {
		padding:
			13px
			0
			13px
			32px !important;
	}


	.sn-v6-usecase__check {
		top: 14px !important;
	}


	.sn-v6-usecase:first-child .sn-v6-usecase__check {
		top: 1px !important;
	}


	.sn-v6-usecase__title {
		font-size: 14px !important;
	}


	.sn-v6-usecases__visual,
	.sn-v6-usecases__visual img {
		min-height: 300px;
	}


	.sn-v6-usecases__visual::after {
		display: none;
	}

}

/* =========================================================
   v6 PLUS - PRICE
   回線種別と料金
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6-price {
	width: 100%;
	padding: 96px 24px 104px;

	background: #ffffff;

	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6-price__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto;
	padding: 0;

	box-sizing: border-box;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-v6-price__eyebrow {
	margin: 0 0 14px !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: 0.12em;

	text-align: center !important;
	text-transform: uppercase;
}


/* =========================================================
   TITLE
========================================================= */

.sn-v6-price__title {
	margin: 0 !important;

	color: #101d36 !important;

	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: -0.02em;

	text-align: center !important;
}


/* =========================================================
   INTRO
========================================================= */

.sn-v6-price__intro {
	max-width: 760px;

	margin: 18px auto 0 !important;

	color: #64748b !important;

	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.8;

	text-align: center !important;
}


/* =========================================================
   PLANS WRAPPER
========================================================= */

.sn-v6-price__plans {
	display: flex !important;
	flex-direction: column !important;

	gap: 26px;

	width: 100%;

	margin: 52px 0 0 !important;
	padding: 0 !important;
}


/* =========================================================
   PRICE PLAN
========================================================= */

.sn-v6-price-plan {
	width: 100%;

	margin: 0 !important;
	padding: 0 !important;

	background: #ffffff;

	border: 1px solid #dbe4f0;
	border-radius: 8px;

	overflow: hidden;

	box-shadow:
		0 8px 26px rgba(15, 35, 65, 0.04);

	box-sizing: border-box;
}


/* =========================================================
   PLAN HEADER
========================================================= */

.sn-v6-price-plan__header {
	display: flex !important;

	align-items: center !important;
	justify-content: space-between !important;

	gap: 24px;

	width: 100%;

	margin: 0 !important;
	padding: 24px 28px !important;

	background:
		linear-gradient(
			90deg,
			#f4f8ff 0%,
			#ffffff 100%
		);

	border-bottom: 1px solid #dbe4f0;

	box-sizing: border-box;
}


/* =========================================================
   PLAN NAME
========================================================= */

.sn-v6-price-plan__name {
	margin: 0 !important;

	color: #1769ff !important;

	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.45;

	letter-spacing: -0.01em;

	text-align: left !important;
}


/* =========================================================
   PLAN DESCRIPTION
========================================================= */

.sn-v6-price-plan__description {
	margin: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.6;

	text-align: right !important;
}


/* =========================================================
   TABLE WRAPPER
========================================================= */

.sn-v6-price-plan__table {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;

	border-collapse: collapse !important;

	table-layout: fixed;

	box-sizing: border-box;
}


/* Gutenberg table figure対策 */
figure.sn-v6-price-plan__table {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


.sn-v6-price-plan__table table {
	width: 100% !important;

	margin: 0 !important;

	border-collapse: collapse !important;

	table-layout: fixed;
}


/* =========================================================
   TABLE HEAD
========================================================= */

.sn-v6-price-plan__table thead th {
	padding: 14px 18px !important;

	background: #0f4cab !important;

	border: 1px solid #d6e0ed !important;

	color: #ffffff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5;

	text-align: center !important;
	vertical-align: middle !important;
}


/* =========================================================
   TABLE BODY
========================================================= */

.sn-v6-price-plan__table tbody td {
	padding: 15px 18px !important;

	background: #ffffff;

	border: 1px solid #dfe7f1 !important;

	color: #334155 !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5;

	text-align: center !important;
	vertical-align: middle !important;

	box-sizing: border-box;
}


/* 偶数行をわずかに変える */
.sn-v6-price-plan__table tbody tr:nth-child(even) td {
	background: #fafcff;
}


/* =========================================================
   IPv4 COLUMN
========================================================= */

.sn-v6-price-plan__table tbody td:first-child {
	color: #101d36 !important;

	font-weight: 700 !important;
}


/* =========================================================
   INITIAL COST
========================================================= */

.sn-v6-price-plan__table tbody td:nth-child(2) {
	color: #334155 !important;

	font-weight: 500 !important;
}


/* =========================================================
   MONTHLY PRICE
========================================================= */

.sn-v6-price-plan__table tbody td:nth-child(3) {
	color: #1769ff !important;

	font-size: 18px !important;
	font-weight: 700 !important;

	letter-spacing: -0.01em;
}


/* =========================================================
   NOTES
========================================================= */

.sn-v6-price__notes {
	width: 100%;

	margin: 24px 0 0 !important;
	padding: 0 !important;

	color: #64748b;
}


.sn-v6-price__notes p {
	margin: 0 0 6px !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}


.sn-v6-price__notes p:last-child {
	margin-bottom: 0 !important;
}


/* =========================================================
   FIXED IP NOTE
========================================================= */

.sn-v6-price__ip-note {
	position: relative;

	width: 100%;

	margin: 22px 0 0 !important;
	padding: 20px 22px 20px 52px !important;

	background: #f4f8ff;

	border: 1px solid #cbdcff;
	border-radius: 6px;

	box-sizing: border-box;
}


/* Info icon */
.sn-v6-price__ip-note::before {
	content: "i";

	position: absolute;

	top: 20px;
	left: 20px;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 20px;
	height: 20px;

	background: #1769ff;

	border-radius: 50%;

	color: #ffffff;

	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}


/* 補足本文 */
.sn-v6-price__ip-note p {
	margin: 0 !important;

	color: #334155 !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
}


/* 先頭を少し強調 */
.sn-v6-price__ip-note strong {
	color: #101d36;

	font-weight: 700;
}


/* =========================================================
   ACTIONS
========================================================= */

.sn-v6-price__actions {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex-wrap: wrap !important;

	gap: 14px !important;

	width: 100%;

	margin: 34px 0 0 !important;
	padding: 0 !important;
}


/* =========================================================
   COMMON BUTTON
========================================================= */

.sn-v6-price__actions a {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-width: 230px;
	min-height: 48px;

	padding: 12px 22px !important;

	border-radius: 5px !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	text-decoration: none !important;

	box-shadow: none !important;

	box-sizing: border-box !important;

	transition:
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease,
		transform .2s ease;
}


/* =========================================================
   APPLY BUTTON
========================================================= */

.sn-v6-price a.sn-v6-price__apply,
.sn-v6-price .sn-v6-price__apply > a,
.sn-v6-price .sn-v6-price__apply a {
	background: #f97316 !important;
	background-color: #f97316 !important;

	border: 1px solid #f97316 !important;

	color: #ffffff !important;
}


.sn-v6-price a.sn-v6-price__apply:hover,
.sn-v6-price .sn-v6-price__apply > a:hover,
.sn-v6-price .sn-v6-price__apply a:hover {
	background: #e8670d !important;
	background-color: #e8670d !important;

	border-color: #e8670d !important;

	color: #ffffff !important;

	transform: translateY(-1px);
}


/* =========================================================
   CONTACT BUTTON
========================================================= */

.sn-v6-price a.sn-v6-price__contact,
.sn-v6-price .sn-v6-price__contact > a,
.sn-v6-price .sn-v6-price__contact a {
	background: #ffffff !important;
	background-color: #ffffff !important;

	border: 1px solid #1769ff !important;

	color: #1769ff !important;
}


.sn-v6-price a.sn-v6-price__contact:hover,
.sn-v6-price .sn-v6-price__contact > a:hover,
.sn-v6-price .sn-v6-price__contact a:hover {
	background: #1769ff !important;
	background-color: #1769ff !important;

	border-color: #1769ff !important;

	color: #ffffff !important;

	transform: translateY(-1px);
}


/* =========================================================
   BUTTON ARROW
========================================================= */

.sn-v6-price__actions a::after {
	content: "→";

	margin-left: 12px;

	font-weight: 400;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6-price {
		padding: 82px 24px 90px;
	}


	.sn-v6-price__title {
		font-size: 34px !important;
	}


	.sn-v6-price__plans {
		margin-top: 46px !important;
	}


	.sn-v6-price-plan__header {
		padding: 22px 24px !important;
	}


	.sn-v6-price-plan__name {
		font-size: 20px !important;
	}


	.sn-v6-price-plan__table thead th,
	.sn-v6-price-plan__table tbody td {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6-price {
		padding: 68px 20px 74px;
	}


	/* -----------------------------------------
	   Heading
	----------------------------------------- */

	.sn-v6-price__eyebrow {
		margin-bottom: 10px !important;

		font-size: 11px !important;
	}


	.sn-v6-price__title {
		font-size: 28px !important;
		line-height: 1.45;
	}


	.sn-v6-price__intro {
		margin-top: 14px !important;

		font-size: 14px !important;
	}


	/* -----------------------------------------
	   Plans
	----------------------------------------- */

	.sn-v6-price__plans {
		gap: 18px;

		margin-top: 38px !important;
	}


	/* -----------------------------------------
	   Plan header
	----------------------------------------- */

	.sn-v6-price-plan__header {
		display: block !important;

		padding: 20px !important;
	}


	.sn-v6-price-plan__name {
		font-size: 19px !important;
	}


	.sn-v6-price-plan__description {
		margin-top: 5px !important;

		font-size: 12px !important;

		text-align: left !important;
	}


	/* -----------------------------------------
	   Table
	----------------------------------------- */

	.sn-v6-price-plan {
		overflow-x: auto;
	}


	.sn-v6-price-plan__table,
	.sn-v6-price-plan__table table {
		min-width: 560px;
	}


	.sn-v6-price-plan__table thead th {
		padding: 12px !important;

		font-size: 12px !important;
	}


	.sn-v6-price-plan__table tbody td {
		padding: 13px 12px !important;

		font-size: 13px !important;
	}


	.sn-v6-price-plan__table tbody td:nth-child(3) {
		font-size: 16px !important;
	}


	/* -----------------------------------------
	   Notes
	----------------------------------------- */

	.sn-v6-price__notes {
		margin-top: 20px !important;
	}


	.sn-v6-price__notes p {
		font-size: 10px !important;
	}


	/* -----------------------------------------
	   IP Note
	----------------------------------------- */

	.sn-v6-price__ip-note {
		margin-top: 18px !important;

		padding:
			18px
			18px
			18px
			46px !important;
	}


	.sn-v6-price__ip-note::before {
		top: 18px;
		left: 16px;
	}


	.sn-v6-price__ip-note p {
		font-size: 12px !important;
	}


	/* -----------------------------------------
	   Actions
	----------------------------------------- */

	.sn-v6-price__actions {
		flex-direction: column !important;

		align-items: stretch !important;

		gap: 10px !important;

		margin-top: 28px !important;
	}


	.sn-v6-price__actions > * {
		width: 100% !important;
	}


	.sn-v6-price__actions a {
		width: 100% !important;

		min-width: 0;
		min-height: 50px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.sn-v6-price {
		padding-left: 16px;
		padding-right: 16px;
	}


	.sn-v6-price__title {
		font-size: 26px !important;
	}


	.sn-v6-price-plan__header {
		padding: 18px !important;
	}

}


/* =========================================================
   v6 PLUS - EQUIPMENT
   接続機器について
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6-equipment {
	width: 100%;
	padding: 96px 24px 104px;

	background: #f6f9fd;

	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6-equipment__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-v6-equipment__eyebrow {
	display: block !important;

	width: 100% !important;

	margin: 0 0 14px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: 0.12em;

	text-align: center !important;
	text-transform: uppercase;
}


/* =========================================================
   SECTION TITLE
========================================================= */

.sn-v6-equipment__title {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: -0.02em;

	text-align: center !important;
}


/* =========================================================
   INTRO
========================================================= */

.sn-v6-equipment__intro {
	display: block !important;

	width: 100% !important;
	max-width: 760px !important;

	margin: 18px auto 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: center !important;
}


/* =========================================================
   COLUMNS
   Kadence Row Layout 2カラム
========================================================= */

.sn-v6-equipment__columns {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 52px auto 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* Kadenceの実カラム領域 */
.sn-v6-equipment__columns .kt-row-column-wrap {
	display: grid !important;

	grid-template-columns:
		repeat(2, minmax(0, 1fr)) !important;

	gap: 24px !important;

	align-items: stretch !important;

	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   KADENCE COLUMN
========================================================= */

.sn-v6-equipment__columns .wp-block-kadence-column {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* カラム内部 */
.sn-v6-equipment__columns .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   CARD COMMON
========================================================= */

.sn-v6-equipment__columns .sn-v6-equipment-card {
	position: relative;

	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	height: 100% !important;

	margin: 0 !important;
	padding: 34px 34px 32px !important;

	background: #ffffff;

	border: 1px solid #dfe7f1;
	border-radius: 8px;

	box-shadow:
		0 8px 26px rgba(15, 35, 65, 0.04);

	box-sizing: border-box !important;
}


/* =========================================================
   FIXED IP CARD
========================================================= */

.sn-v6-equipment__columns .sn-v6-equipment-card--fixed {
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f7faff 100%
		) !important;

	border-color: #bdd2ff !important;
}


/* 固定IPカード上部ライン */
.sn-v6-equipment__columns .sn-v6-equipment-card--fixed::before {
	content: "";

	position: absolute;

	top: -1px;
	left: -1px;
	right: -1px;

	height: 3px;

	background: #1769ff;

	border-radius: 8px 8px 0 0;
}


/* =========================================================
   NUMBER
========================================================= */

.sn-v6-equipment-card__number {
	display: block !important;

	width: 100% !important;

	margin: 0 0 10px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: 0.12em;

	text-align: center !important;
}


/* =========================================================
   TYPE
   動的IP / 固定IP
========================================================= */

.sn-v6-equipment-card__type {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	align-self: center;

	width: auto !important;
	min-width: 74px;

	margin: 0 auto 20px !important;
	padding: 5px 12px !important;

	background: #edf4ff;

	border-radius: 20px;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	text-align: center !important;

	box-sizing: border-box;
}


/* =========================================================
   CARD TITLE
========================================================= */

.sn-v6-equipment-card__title {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;

	letter-spacing: -0.01em;

	text-align: left !important;

	word-break: normal !important;
	overflow-wrap: normal !important;
}


/* =========================================================
   CARD TEXT
========================================================= */

.sn-v6-equipment-card__text {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #56657a !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.85 !important;

	text-align: left !important;

	word-break: normal !important;
	overflow-wrap: normal !important;
}


/* =========================================================
   ITEMS WRAPPER
========================================================= */

.sn-v6-equipment-card__items {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 26px 0 0 !important;
	padding: 0 !important;

	border-top: 1px solid #e3eaf3;

	box-sizing: border-box;
}


/* Gutenberg flex解除 */
.sn-v6-equipment-card__items.is-layout-flex,
.sn-v6-equipment-card__items.wp-block-group-is-layout-flex {
	display: block !important;
}


/* =========================================================
   EQUIPMENT ITEM
========================================================= */

.sn-v6-equipment-item {
	position: relative;

	display: block !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 20px 0 20px 24px !important;

	border-bottom: 1px solid #e3eaf3;

	box-sizing: border-box;
}


.sn-v6-equipment-item:last-child {
	padding-bottom: 0 !important;

	border-bottom: 0;
}


/* 左側ドット */
.sn-v6-equipment-item::before {
	content: "";

	position: absolute;

	top: 27px;
	left: 2px;

	width: 7px;
	height: 7px;

	background: #1769ff;

	border-radius: 50%;
}


/* =========================================================
   EQUIPMENT ITEM TITLE
========================================================= */

.sn-v6-equipment-item__title {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;

	text-align: left !important;

	word-break: normal !important;
}


/* =========================================================
   EQUIPMENT ITEM TEXT
========================================================= */

.sn-v6-equipment-item__text {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 6px 0 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: left !important;

	word-break: normal !important;
}


/* =========================================================
   FIXED IP BADGES
========================================================= */

.sn-v6-equipment-card__badges {
	display: flex !important;

	align-items: center !important;
	flex-wrap: wrap !important;

	gap: 8px !important;

	width: 100% !important;

	margin: 22px 0 0 !important;
	padding: 0 !important;
}


.sn-v6-equipment-card__badges > * {
	margin: 0 !important;
}


/* Paragraphをバッジ化 */
.sn-v6-equipment-card__badges p {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;

	margin: 0 !important;
	padding: 6px 11px !important;

	background: #edf4ff;

	border: 1px solid #cbdcff;
	border-radius: 4px;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	white-space: nowrap;

	box-sizing: border-box;
}


/* =========================================================
   FIXED IP NOTICE
========================================================= */

.sn-v6-equipment-card__notice {
	position: relative;

	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 24px 0 0 !important;
	padding: 20px 20px 20px 52px !important;

	background: #f2f7ff;

	border: 1px solid #cbdcff;
	border-radius: 6px;

	box-sizing: border-box;
}


/* 注意アイコン */
.sn-v6-equipment-card__notice::before {
	content: "!";

	position: absolute;

	top: 20px;
	left: 20px;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 20px;
	height: 20px;

	background: #1769ff;

	border-radius: 50%;

	color: #ffffff;

	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}


/* Notice heading */
.sn-v6-equipment-card__notice h4 {
	display: block !important;

	width: 100%;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;

	text-align: left !important;
}


/* Notice text */
.sn-v6-equipment-card__notice p {
	display: block !important;

	width: 100%;

	margin: 7px 0 0 !important;
	padding: 0 !important;

	color: #56657a !important;

	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: left !important;
}


/* =========================================================
   FIXED IP NOTE
========================================================= */

.sn-v6-equipment-card__note {
	display: block !important;

	width: 100% !important;

	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #7b8798 !important;

	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;

	text-align: left !important;
}


/* =========================================================
   CARD LINK
========================================================= */

.sn-v6-equipment-card__link {
	width: 100% !important;

	margin: auto 0 0 !important;
	padding: 26px 0 0 !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	text-align: left !important;
}


.sn-v6-equipment-card__link a {
	display: inline-flex !important;

	align-items: center !important;

	color: #1769ff !important;

	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;

	text-decoration: none !important;

	transition: color 0.2s ease;
}


.sn-v6-equipment-card__link a::after {
	content: "→";

	margin-left: 8px;

	font-weight: 400;

	transition: transform 0.2s ease;
}


.sn-v6-equipment-card__link a:hover {
	color: #0f4cab !important;
}


.sn-v6-equipment-card__link a:hover::after {
	transform: translateX(3px);
}


/* =========================================================
   GUTENBERG / KADENCE RESET
========================================================= */

.sn-v6-equipment .wp-block-group,
.sn-v6-equipment .wp-block-group__inner-container {
	box-sizing: border-box;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6-equipment {
		padding: 82px 24px 90px;
	}


	.sn-v6-equipment__title {
		font-size: 34px !important;
	}


	.sn-v6-equipment__columns {
		margin-top: 46px !important;
	}


	.sn-v6-equipment__columns .kt-row-column-wrap {
		gap: 20px !important;
	}


	.sn-v6-equipment__columns .sn-v6-equipment-card {
		padding: 30px 28px 28px !important;
	}


	.sn-v6-equipment-card__title {
		font-size: 19px !important;
	}


	.sn-v6-equipment-card__text {
		font-size: 13px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6-equipment {
		padding: 68px 20px 74px;
	}


	/* Section heading */

	.sn-v6-equipment__eyebrow {
		margin-bottom: 10px !important;

		font-size: 11px !important;
	}


	.sn-v6-equipment__title {
		font-size: 28px !important;
		line-height: 1.45 !important;
	}


	.sn-v6-equipment__intro {
		margin-top: 14px !important;

		font-size: 14px !important;
		line-height: 1.8 !important;
	}


	/* Columns */

	.sn-v6-equipment__columns {
		margin-top: 38px !important;
	}


	.sn-v6-equipment__columns .kt-row-column-wrap {
		grid-template-columns: 1fr !important;

		gap: 16px !important;
	}


	/* Card */

	.sn-v6-equipment__columns .sn-v6-equipment-card {
		padding: 26px 22px 24px !important;
	}


	.sn-v6-equipment-card__number {
		font-size: 11px !important;
	}


	.sn-v6-equipment-card__type {
		margin-bottom: 18px !important;
	}


	.sn-v6-equipment-card__title {
		font-size: 18px !important;
	}


	.sn-v6-equipment-card__text {
		margin-top: 12px !important;

		font-size: 13px !important;
	}


	/* Equipment items */

	.sn-v6-equipment-card__items {
		margin-top: 22px !important;
	}


	.sn-v6-equipment-item {
		padding:
			17px
			0
			17px
			22px !important;
	}


	.sn-v6-equipment-item::before {
		top: 24px;
	}


	.sn-v6-equipment-item__title {
		font-size: 14px !important;
	}


	.sn-v6-equipment-item__text {
		font-size: 12px !important;
	}


	/* Fixed IP */

	.sn-v6-equipment-card__badges {
		margin-top: 18px !important;
	}


	.sn-v6-equipment-card__notice {
		margin-top: 20px !important;

		padding:
			18px
			18px
			18px
			46px !important;
	}


	.sn-v6-equipment-card__notice::before {
		top: 18px;
		left: 16px;
	}


	.sn-v6-equipment-card__notice h4 {
		font-size: 13px !important;
	}


	.sn-v6-equipment-card__notice p {
		font-size: 12px !important;
	}


	.sn-v6-equipment-card__note {
		font-size: 10px !important;
	}


	/* Link */

	.sn-v6-equipment-card__link {
		padding-top: 22px !important;

		font-size: 12px !important;
	}

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.sn-v6-equipment {
		padding-left: 16px;
		padding-right: 16px;
	}


	.sn-v6-equipment__title {
		font-size: 26px !important;
	}


	.sn-v6-equipment__columns .sn-v6-equipment-card {
		padding: 24px 20px !important;
	}

}


/* =========================================================
   v6プラス
   ご利用開始までの流れ
   ========================================================= */


/* ---------------------------------------------------------
   セクション全体
   --------------------------------------------------------- */

.sn-v6-flow {
    width: 100%;
    padding: 96px 24px;
    background: #ffffff;
    box-sizing: border-box;
}

.sn-v6-flow *,
.sn-v6-flow *::before,
.sn-v6-flow *::after {
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   内側コンテナ
   --------------------------------------------------------- */

.sn-v6-flow__inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}


/* ---------------------------------------------------------
   セクション見出し
   --------------------------------------------------------- */

.sn-v6-flow__eyebrow {
    margin: 0 0 12px;
    color: #1769ff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.sn-v6-flow__title {
    margin: 0;
    color: #071d3d;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-align: center;
}

.sn-v6-flow__intro {
    max-width: 720px;
    margin: 18px auto 0;
    color: #5b6b82;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
    text-align: center;
}


/* ---------------------------------------------------------
   ステップ一覧
   --------------------------------------------------------- */

.sn-v6-flow__steps {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 56px 0 0 !important;
    padding: 0 !important;
    align-items: stretch;
}


/* Kadenceの内部要素による幅指定を解除 */

.sn-v6-flow__steps > *,
.sn-v6-flow__steps > .wp-block-group,
.sn-v6-flow__steps > .kt-inside-inner-col {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}


/* ---------------------------------------------------------
   各ステップカード
   --------------------------------------------------------- */

.sn-v6-flow-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 360px;
    margin: 0;
    padding: 32px 24px 30px;
    background: #ffffff;
    border: 1px solid #dbe5f1;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(7, 29, 61, 0.04);
}


/* ---------------------------------------------------------
   01 / 02 / 03 / 04
   --------------------------------------------------------- */

.sn-v6-flow-step__number {
    margin: 0 0 20px;
    color: #1769ff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-align: center;
}


/* ---------------------------------------------------------
   アイコン
   --------------------------------------------------------- */

.sn-v6-flow-step__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    margin: 0 auto 24px;
    padding: 14px;
    background: #f5f9ff;
    border-radius: 12px;
}


/* WordPress画像ブロック */

.sn-v6-flow-step__icon figure,
.sn-v6-flow-step__icon .wp-block-image {
    width: 100%;
    height: 100%;
    margin: 0 !important;
    padding: 0;
}

.sn-v6-flow-step__icon img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 auto;
    object-fit: contain;
}


/* ---------------------------------------------------------
   ステップタイトル
   --------------------------------------------------------- */

.sn-v6-flow-step__title {
    width: 100%;
    margin: 0;
    color: #071d3d;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.55;
    text-align: center;
}


/* ---------------------------------------------------------
   本文
   --------------------------------------------------------- */

.sn-v6-flow-step__text {
    width: 100%;
    margin: 14px 0 0;
    color: #5b6b82;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.85;
    text-align: left;
}


/* ---------------------------------------------------------
   03 動的IPの場合の補足
   --------------------------------------------------------- */

.sn-v6-flow-step__note {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 18px auto 0;
    padding: 7px 14px;
    color: #1769ff;
    background: #edf5ff;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}


/* ---------------------------------------------------------
   ステップ間の矢印
   --------------------------------------------------------- */

.sn-v6-flow-step:not(:last-child)::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: -20px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 32px;
    color: #1769ff;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%);
}


/* ---------------------------------------------------------
   カード上部アクセント
   --------------------------------------------------------- */

.sn-v6-flow-step::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 50%;
    width: 52px;
    height: 3px;
    background: #1769ff;
    border-radius: 0 0 3px 3px;
    transform: translateX(-50%);
}


/* ---------------------------------------------------------
   hover
   PCのみ
   --------------------------------------------------------- */

@media (hover: hover) {

    .sn-v6-flow-step {
        transition:
            transform 0.2s ease,
            box-shadow 0.2s ease,
            border-color 0.2s ease;
    }

    .sn-v6-flow-step:hover {
        transform: translateY(-4px);
        border-color: #bfd3f1;
        box-shadow: 0 14px 34px rgba(7, 29, 61, 0.08);
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .sn-v6-flow {
        padding: 80px 24px;
    }

    .sn-v6-flow__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
        margin-top: 48px !important;
    }

    .sn-v6-flow-step {
        min-height: 340px;
    }

    /*
     * 2列表示では矢印を非表示。
     * 折り返し位置で矢印の方向が不自然になるため。
     */
    .sn-v6-flow-step::after {
        display: none;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .sn-v6-flow {
        padding: 64px 20px;
    }

    .sn-v6-flow__eyebrow {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .sn-v6-flow__title {
        font-size: 28px;
        line-height: 1.4;
    }

    .sn-v6-flow__intro {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.8;
    }

    .sn-v6-flow__steps {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin-top: 40px !important;
    }

    .sn-v6-flow-step {
        min-height: 0;
        padding: 28px 22px;
    }

    .sn-v6-flow-step__number {
        margin-bottom: 16px;
    }

    .sn-v6-flow-step__icon {
        width: 80px;
        height: 80px;
        margin-bottom: 20px;
        padding: 13px;
    }

    .sn-v6-flow-step__title {
        font-size: 18px;
    }

    .sn-v6-flow-step__text {
        margin-top: 12px;
        font-size: 14px;
        line-height: 1.8;
    }

    .sn-v6-flow-step__note {
        margin-top: 16px;
    }
}

/* =========================================================
   FLOW
   4カードの高さを完全に統一
========================================================= */


/* 4カードの親 */
.sn-v6-flow__steps {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	/*
	 * 同じ行の高さを
	 * 一番高いカードに統一
	 */
	grid-auto-rows: 1fr !important;

	gap: 24px !important;

	align-items: stretch !important;

	width: 100% !important;

	margin: 56px 0 0 !important;
	padding: 0 !important;
}


/* =========================================================
   FLOW CARD HEIGHT FIX
========================================================= */

/* 4枚のカードを同じ高さに固定 */
.sn-v6-flow-step {
	min-height: 420px !important;
	height: 420px !important;
}


/* カード内部 */
.sn-v6-flow-step {
	display: flex !important;
	flex-direction: column !important;
}


/* 03の注記 */
.sn-v6-flow-step__note {
	margin-top: auto !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6-flow-step {
		min-height: 400px !important;
		height: 400px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6-flow-step {
		min-height: 0 !important;
		height: auto !important;
	}

	.sn-v6-flow-step__note {
		margin-top: 18px !important;
	}

}

/* =========================================================
   v6 PLUS - FAQ
   よくあるご質問
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6-faq {
	width: 100%;
	padding: 96px 24px 104px;

	background: #ffffff;

	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6-faq__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-v6-faq__eyebrow {
	margin: 0 0 12px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: 0.12em;

	text-align: center !important;
	text-transform: uppercase;
}


/* =========================================================
   TITLE
========================================================= */

.sn-v6-faq__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #071d3d !important;

	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: -0.02em;

	text-align: center !important;
}


/* =========================================================
   INTRO
========================================================= */

.sn-v6-faq__intro {
	width: 100%;
	max-width: 720px;

	margin: 18px auto 0 !important;
	padding: 0 !important;

	color: #5b6b82 !important;

	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: center !important;
}


/* =========================================================
   COLUMNS
   Kadence Row Layout 2カラム
========================================================= */

.sn-v6-faq__columns {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 52px auto 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* Kadence内部の実カラム領域 */
.sn-v6-faq__columns .kt-row-column-wrap {
	display: grid !important;

	grid-template-columns:
		repeat(2, minmax(0, 1fr)) !important;

	gap: 24px !important;

	align-items: start !important;

	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   KADENCE COLUMN
========================================================= */

.sn-v6-faq__columns .wp-block-kadence-column {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


.sn-v6-faq__columns .kt-inside-inner-col {
	width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   ACCORDION WRAPPER
========================================================= */

.sn-v6-faq .wp-block-kadence-accordion {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   EACH FAQ ITEM
========================================================= */

.sn-v6-faq .kt-accordion-pane {
	width: 100% !important;

	margin: 0 0 12px !important;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid #dbe5f1 !important;
	border-radius: 8px !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


.sn-v6-faq .kt-accordion-pane:last-child {
	margin-bottom: 0 !important;
}


/* =========================================================
   QUESTION
========================================================= */

.sn-v6-faq .kt-blocks-accordion-header {
	position: relative;

	display: flex !important;

	align-items: center !important;

	width: 100% !important;
	min-height: 64px;

	margin: 0 !important;
	padding: 18px 54px 18px 20px !important;

	background: #ffffff !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	color: #071d3d !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;

	text-align: left !important;

	cursor: pointer;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}


/* hover */
@media (hover: hover) {

	.sn-v6-faq .kt-blocks-accordion-header:hover {
		background: #f7faff !important;
		color: #1769ff !important;
	}

}


/* =========================================================
   QUESTION TITLE
========================================================= */

.sn-v6-faq .kt-blocks-accordion-title {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	color: inherit !important;

	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;

	text-align: left !important;
}


/* =========================================================
   ACCORDION ICON
========================================================= */

.sn-v6-faq .kt-blocks-accordion-icon-trigger {
	position: absolute !important;

	top: 50% !important;
	right: 18px !important;

	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 24px !important;
	height: 24px !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #1769ff !important;

	transform: translateY(-50%) !important;
}


/* =========================================================
   OPEN STATE
========================================================= */

.sn-v6-faq .kt-accordion-pane.kt-accordion-panel-active {
	border-color: #b9d1f7 !important;

	box-shadow:
		0 8px 22px rgba(7, 29, 61, 0.045) !important;
}


.sn-v6-faq
.kt-accordion-pane.kt-accordion-panel-active
.kt-blocks-accordion-header {
	background: #f7faff !important;

	color: #1769ff !important;
}


/* =========================================================
   ANSWER
========================================================= */

.sn-v6-faq .kt-accordion-panel-inner {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 20px 20px !important;

	background: #ffffff !important;

	color: #5b6b82 !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.85 !important;

	box-sizing: border-box !important;
}


/* 回答本文 */
.sn-v6-faq .kt-accordion-panel-inner p {
	margin: 0 0 10px !important;
	padding: 0 !important;

	color: #5b6b82 !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.85 !important;
}


.sn-v6-faq .kt-accordion-panel-inner p:last-child {
	margin-bottom: 0 !important;
}


/* =========================================================
   ANSWER LINK
========================================================= */

.sn-v6-faq .kt-accordion-panel-inner a {
	color: #1769ff !important;

	font-weight: 600 !important;

	text-decoration: underline !important;
	text-underline-offset: 3px;
}


/* =========================================================
   FAQ ACTIONS
========================================================= */

.sn-v6-faq__actions {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;

	margin: 38px 0 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* Gutenberg Buttons */
.sn-v6-faq__actions.wp-block-buttons {
	justify-content: center !important;
	gap: 0 !important;
}


/* =========================================================
   BUTTON WRAPPER
========================================================= */

.sn-v6-faq__actions .wp-block-button {
	width: auto !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   FAQ BUTTON
========================================================= */

.sn-v6-faq__actions .wp-block-button__link {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 240px !important;
	max-width: none !important;

	min-height: 48px;

	margin: 0 !important;
	padding: 12px 24px !important;

	background: #ffffff !important;

	border: 1px solid #1769ff !important;
	border-radius: 5px !important;

	box-shadow: none !important;

	color: #1769ff !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	text-decoration: none !important;

	white-space: nowrap;

	box-sizing: border-box !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}


/* hover */
@media (hover: hover) {

	.sn-v6-faq__actions .wp-block-button__link:hover {
		background: #1769ff !important;

		border-color: #1769ff !important;

		color: #ffffff !important;
	}

}


/* =========================================================
   GUTENBERG / KADENCE RESET
========================================================= */

.sn-v6-faq .wp-block-group,
.sn-v6-faq .wp-block-group__inner-container {
	box-sizing: border-box;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6-faq {
		padding: 82px 24px 90px;
	}


	.sn-v6-faq__title {
		font-size: 34px !important;
	}


	.sn-v6-faq__columns {
		margin-top: 46px !important;
	}


	.sn-v6-faq__columns .kt-row-column-wrap {
		gap: 20px !important;
	}


	.sn-v6-faq .kt-blocks-accordion-header {
		padding:
			17px
			50px
			17px
			18px !important;

		font-size: 13px !important;
	}


	.sn-v6-faq .kt-accordion-panel-inner {
		padding:
			0
			18px
			18px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6-faq {
		padding: 68px 20px 74px;
	}


	/* Heading */

	.sn-v6-faq__eyebrow {
		margin-bottom: 10px !important;

		font-size: 11px !important;
	}


	.sn-v6-faq__title {
		font-size: 28px !important;
		line-height: 1.45 !important;
	}


	.sn-v6-faq__intro {
		margin-top: 14px !important;

		font-size: 14px !important;
		line-height: 1.8 !important;
	}


	/* Columns → 1 column */

	.sn-v6-faq__columns {
		margin-top: 36px !important;
	}


	.sn-v6-faq__columns .kt-row-column-wrap {
		grid-template-columns: 1fr !important;

		gap: 12px !important;
	}


	/* Accordion */

	.sn-v6-faq .kt-accordion-pane {
		margin-bottom: 10px !important;
	}


	/* Question */

	.sn-v6-faq .kt-blocks-accordion-header {
		min-height: 60px;

		padding:
			16px
			48px
			16px
			16px !important;

		font-size: 13px !important;
		line-height: 1.6 !important;
	}


	/* Icon */

	.sn-v6-faq .kt-blocks-accordion-icon-trigger {
		right: 14px !important;
	}


	/* Answer */

	.sn-v6-faq .kt-accordion-panel-inner {
		padding:
			0
			16px
			16px !important;

		font-size: 13px !important;
		line-height: 1.8 !important;
	}


	.sn-v6-faq .kt-accordion-panel-inner p {
		font-size: 13px !important;
		line-height: 1.8 !important;
	}


	/* Actions */

	.sn-v6-faq__actions {
		margin-top: 30px !important;
	}


	/*
	 * スマホだけ全幅
	 */
	.sn-v6-faq__actions .wp-block-button {
		width: 100% !important;
	}


	.sn-v6-faq__actions .wp-block-button__link {
		width: 100% !important;
		min-width: 0 !important;

		min-height: 50px;

		padding: 12px 18px !important;
	}

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.sn-v6-faq {
		padding-left: 16px;
		padding-right: 16px;
	}


	.sn-v6-faq__title {
		font-size: 26px !important;
	}

}


/* =========================================================
   COMMON SERVICE HERO
   サービスページ共通HERO
========================================================= */

.sn-service-hero {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff;
    overflow: hidden;
    box-sizing: border-box !important;
}

/* Kadence Row Layout */
.sn-service-hero .kt-row-column-wrap {
    align-items: stretch !important;
    width: 100% !important;
    max-width: var(--signal-content-width) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    box-sizing: border-box !important;
}

.sn-service-hero .wp-block-kadence-column {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.sn-service-hero .kt-inside-inner-col {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Left content */
.sn-service-hero__content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 72px 56px 72px 0 !important;
    box-sizing: border-box !important;
}

/* Eyebrow */
.sn-service-hero__eyebrow {
    position: relative;
    width: 100%;
    margin: 0 0 16px !important;
    padding: 0 0 0 18px !important;
    color: var(--signal-blue) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: .08em;
    text-align: left !important;
}

.sn-service-hero__eyebrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    background: var(--signal-blue);
    transform: translateY(-50%) rotate(45deg);
}

/* Title */
.sn-service-hero__title {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: #101d36 !important;
    font-size: 52px !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    letter-spacing: -.03em;
    text-align: left !important;
}

/* Both names are supported during migration */
.sn-service-hero__accent,
.sn-service-hero__title-accent {
    color: var(--signal-blue) !important;
}

/* Lead */
.sn-service-hero__lead {
    width: 100%;
    max-width: 640px;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    color: #475569 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.9 !important;
    text-align: left !important;
}

/* =========================================================
   HERO POINTS - legacy/common structure (Hikari etc.)
========================================================= */

.sn-service-hero__points {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.sn-service-hero__points > .sn-service-hero__point {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sn-service-hero__point.is-layout-constrained,
.sn-service-hero__point.is-layout-flow,
.sn-service-hero__point.is-layout-flex,
.sn-service-hero__point.wp-block-group-is-layout-constrained,
.sn-service-hero__point.wp-block-group-is-layout-flow,
.sn-service-hero__point.wp-block-group-is-layout-flex {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
}

.sn-service-hero__point > .wp-block-image,
.sn-service-hero__point > figure {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sn-service-hero__point-icon,
.sn-service-hero__point > .wp-block-image img,
.sn-service-hero__point > figure img {
    display: block !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.sn-service-hero__point > .sn-service-hero__point-text {
    margin: 0 !important;
    padding: 0 !important;
    color: #0b1f3a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
}

.sn-service-hero__point > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* =========================================================
   HERO FEATURES - 3 column structure (Mobile etc.)
========================================================= */

.sn-service-hero__features {
    width: 100% !important;
    margin: 34px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.sn-service-hero__feature-columns {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Important: scope nested Row Layout to avoid outer HERO rule interference */
.sn-service-hero__feature-columns > .kt-row-column-wrap,
.sn-service-hero__feature-columns .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sn-service-hero__feature-columns .wp-block-kadence-column {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sn-service-hero__feature-columns .kt-inside-inner-col {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sn-service-hero__feature {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
}

.sn-service-hero__feature-columns .wp-block-kadence-column:first-child .sn-service-hero__feature {
    padding-left: 0 !important;
}

.sn-service-hero__feature-columns .wp-block-kadence-column:not(:first-child) .sn-service-hero__feature {
    border-left: 1px solid #dbe5f1;
}

.sn-service-hero__feature-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #eef5ff;
    border-radius: 50%;
    box-sizing: border-box !important;
}

.sn-service-hero__feature-icon svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    color: var(--signal-blue) !important;
}

.sn-service-hero__feature-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0b1f3a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

/* =========================================================
   ACTIONS / BUTTONS
========================================================= */

.sn-service-hero__actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
}

.sn-service-hero__actions .wp-block-button,
.sn-service-hero__primary,
.sn-service-hero__secondary,
.wp-block-button.sn-service-hero__primary,
.wp-block-button.sn-service-hero__secondary {
    margin: 0 !important;
    padding: 0 !important;
}

/* Common button foundation: supports old and new class names */
.wp-block-button.sn-service-hero__button .wp-block-button__link,
.sn-service-hero__button .wp-block-button__link,
.sn-service-hero__primary .wp-block-button__link,
.sn-service-hero__secondary .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease !important;
}

/* Primary */
.wp-block-button.sn-service-hero__button--primary .wp-block-button__link,
.sn-service-hero__button--primary .wp-block-button__link,
.sn-service-hero__primary .wp-block-button__link {
    min-width: 220px !important;
    padding: 14px 42px !important;
    background: #ffd83d !important;
    border: 1px solid #ffd83d !important;
    color: #10203c !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.08) !important;
}

.wp-block-button.sn-service-hero__button--primary .wp-block-button__link:hover,
.sn-service-hero__button--primary .wp-block-button__link:hover,
.sn-service-hero__primary .wp-block-button__link:hover {
    background: #ffe267 !important;
    border-color: #ffe267 !important;
    color: #10203c !important;
    transform: translateY(-2px);
}

/* Secondary */
.wp-block-button.sn-service-hero__button--secondary .wp-block-button__link,
.sn-service-hero__button--secondary .wp-block-button__link,
.sn-service-hero__secondary .wp-block-button__link {
    min-width: 200px !important;
    padding: 14px 36px !important;
    background: #ffffff !important;
    border: 1px solid var(--signal-blue) !important;
    color: var(--signal-blue) !important;
    box-shadow: none !important;
}

.wp-block-button.sn-service-hero__button--secondary .wp-block-button__link:hover,
.sn-service-hero__button--secondary .wp-block-button__link:hover,
.sn-service-hero__secondary .wp-block-button__link:hover {
    background: var(--signal-blue) !important;
    color: #ffffff !important;
}

.sn-service-hero__button .wp-block-button__link::after,
.sn-service-hero__primary .wp-block-button__link::after,
.sn-service-hero__secondary .wp-block-button__link::after {
    content: "→";
    margin-left: 10px;
}

/* =========================================================
   VISUAL
========================================================= */

.sn-service-hero__visual {
    position: relative;
    width: 100% !important;
    height: 100% !important;
    min-height: 610px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    box-sizing: border-box !important;
}

.sn-service-hero__visual .wp-block-image,
.sn-service-hero__visual figure {
    width: 100% !important;
    height: 100% !important;
    min-height: 610px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sn-service-hero__image,
.sn-service-hero__visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 610px !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.sn-service-hero__visual::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 80px;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255,255,255,.7) 35%, rgba(255,255,255,0) 100%);
    pointer-events: none;
}

.sn-service-hero *,
.sn-service-hero *::before,
.sn-service-hero *::after {
    box-sizing: border-box !important;
}

/* =========================================================
   SERVICE-SPECIFIC HERO OVERRIDES
========================================================= */

.sn-hikari-hero {
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 50%, #f5f9fd 100%);
}

.sn-hikari-hero .sn-service-hero__image,
.sn-hikari-hero .sn-service-hero__visual img {
    object-position: 60% center !important;
}

.sn-mobile-hero {
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 48%, #eef7ff 100%);
}

.sn-mobile-hero > .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr) !important;
    gap: 0 !important;
    align-items: stretch !important;
    min-height: 610px;
}

.sn-mobile-hero .sn-service-hero__visual::before {
    width: 18%;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255,255,255,.75) 35%, rgba(255,255,255,0) 100%);
}

.sn-mobile-hero .sn-service-hero__visual img {
    object-position: center center !important;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
    .sn-service-hero__content {
        padding: 60px 36px 60px 24px !important;
    }

    .sn-service-hero__title {
        font-size: 42px !important;
    }

    .sn-service-hero__lead {
        font-size: 15px !important;
    }

    .sn-service-hero__point > .sn-service-hero__point-text {
        font-size: 14px !important;
    }

    .sn-service-hero__feature {
        padding: 0 12px !important;
    }

    .sn-service-hero__feature-columns .wp-block-kadence-column:first-child .sn-service-hero__feature {
        padding-left: 0 !important;
    }

    .sn-service-hero__feature-icon {
        flex-basis: 38px !important;
        width: 38px !important;
        height: 38px !important;
    }

    .sn-service-hero__feature-icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    .sn-service-hero__feature-text {
        font-size: 12px !important;
    }

    .sn-service-hero__visual,
    .sn-service-hero__visual .wp-block-image,
    .sn-service-hero__visual figure,
    .sn-service-hero__image,
    .sn-service-hero__visual img {
        min-height: 560px !important;
    }

    .sn-mobile-hero > .kt-row-column-wrap {
        grid-template-columns: minmax(0, 55fr) minmax(0, 45fr) !important;
        min-height: 540px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
    .sn-service-hero .kt-row-column-wrap {
        grid-template-columns: 1fr !important;
        display: block !important;
    }

    .sn-service-hero__content {
        width: 100% !important;
        padding: 52px 20px 42px !important;
    }

    .sn-service-hero__eyebrow {
        margin-bottom: 12px !important;
        font-size: 11px !important;
    }

    .sn-service-hero__title {
        font-size: 36px !important;
        line-height: 1.35 !important;
        letter-spacing: -.02em;
    }

    .sn-service-hero__lead {
        margin-top: 20px !important;
        font-size: 14px !important;
        line-height: 1.85 !important;
    }

    .sn-service-hero__points {
        gap: 12px !important;
        margin-top: 24px !important;
    }

    .sn-service-hero__points > .sn-service-hero__point {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .sn-service-hero__point > .wp-block-image,
    .sn-service-hero__point > figure,
    .sn-service-hero__point-icon,
    .sn-service-hero__point > .wp-block-image img,
    .sn-service-hero__point > figure img {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
    }

    .sn-service-hero__features {
        margin-top: 28px !important;
    }

    .sn-service-hero__feature-columns .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        min-height: 0 !important;
    }

    .sn-service-hero__feature {
        padding: 0 !important;
        border-left: 0 !important;
    }

    .sn-service-hero__feature-columns .wp-block-kadence-column:not(:first-child) .sn-service-hero__feature {
        border-left: 0 !important;
    }

    .sn-service-hero__feature-icon {
        flex-basis: 40px !important;
        width: 40px !important;
        height: 40px !important;
    }

    .sn-service-hero__feature-icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    .sn-service-hero__feature-text {
        font-size: 13px !important;
    }

    .sn-service-hero__actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 30px !important;
    }

    .sn-service-hero__actions .wp-block-button,
    .sn-service-hero__primary,
    .sn-service-hero__secondary,
    .wp-block-button.sn-service-hero__primary,
    .wp-block-button.sn-service-hero__secondary {
        width: 100% !important;
    }

    .wp-block-button.sn-service-hero__button .wp-block-button__link,
    .sn-service-hero__button .wp-block-button__link,
    .sn-service-hero__primary .wp-block-button__link,
    .sn-service-hero__secondary .wp-block-button__link {
        width: 100% !important;
        min-width: 0 !important;
    }

    .sn-service-hero__visual {
        width: 100% !important;
        height: 320px !important;
        min-height: 320px !important;
    }

    .sn-service-hero__visual .wp-block-image,
    .sn-service-hero__visual figure,
    .sn-service-hero__image,
    .sn-service-hero__visual img {
        height: 320px !important;
        min-height: 320px !important;
    }

    .sn-service-hero__visual img {
        object-position: 70% center !important;
    }

    .sn-service-hero__visual::before {
        display: none;
    }

    .sn-hikari-hero .sn-service-hero__image,
    .sn-hikari-hero .sn-service-hero__visual img {
        object-position: 62% center !important;
    }

    .sn-mobile-hero > .kt-row-column-wrap {
        display: block !important;
        min-height: 0 !important;
    }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
    .sn-service-hero__content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .sn-service-hero__title {
        font-size: 32px !important;
    }

    .sn-service-hero__visual,
    .sn-service-hero__visual .wp-block-image,
    .sn-service-hero__visual figure,
    .sn-service-hero__image,
    .sn-service-hero__visual img {
        height: 280px !important;
        min-height: 280px !important;
    }
}


/* =========================================================
   COMMON SERVICE FEATURES
   サービスページ共通：特長セクション
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-service-features {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #f7f9fc;

	box-sizing: border-box !important;
}


/* =========================================================
   INNER
========================================================= */

.sn-service-features__inner {
	display: block !important;

	width: 100% !important;
	min-width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* Gutenberg constrained layoutによる幅制限解除 */
.sn-service-features__inner.is-layout-constrained,
.sn-service-features__inner.wp-block-group-is-layout-constrained,
.sn-service-features__inner.is-layout-flow,
.sn-service-features__inner.wp-block-group-is-layout-flow {
	width: 100% !important;
	max-width: 1200px !important;
}


/* inner直下の各ブロック */
.sn-service-features__inner > * {
	width: 100% !important;
	max-width: none !important;
}


/* =========================================================
   SECTION EYEBROW
========================================================= */

.sn-service-section__eyebrow {
	display: block !important;

	width: 100% !important;

	margin: 0 0 12px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .12em;

	text-align: center !important;
	text-transform: uppercase;
}


/* =========================================================
   SECTION TITLE
========================================================= */

.sn-service-section__title {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: -.02em;

	text-align: center !important;
}


/* =========================================================
   SECTION LEAD
========================================================= */

.sn-service-section__lead {
	display: block !important;

	width: 100% !important;
	max-width: 760px !important;

	margin: 18px auto 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: center !important;
}


/* =========================================================
   FEATURES GRID
========================================================= */

.sn-service-features__grid {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	grid-auto-flow: row !important;

	gap: 22px !important;

	align-items: stretch !important;

	width: 100% !important;
	min-width: 100% !important;
	max-width: 1200px !important;

	margin: 52px auto 0 !important;
	padding: 0 !important;

	flex: 0 0 100% !important;
	flex-basis: 100% !important;

	float: none !important;

	box-sizing: border-box !important;
}


/* =========================================================
   Gutenberg layout指定の強制解除
========================================================= */

.sn-service-features__grid.is-layout-flex,
.sn-service-features__grid.wp-block-group-is-layout-flex,
.sn-service-features__grid.is-layout-flow,
.sn-service-features__grid.wp-block-group-is-layout-flow,
.sn-service-features__grid.is-layout-constrained,
.sn-service-features__grid.wp-block-group-is-layout-constrained {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 22px !important;

	width: 100% !important;
	min-width: 100% !important;
	max-width: 1200px !important;

	margin-left: auto !important;
	margin-right: auto !important;
}


/* =========================================================
   Gutenberg inner-containerが入る場合
========================================================= */

.sn-service-features__grid
> .wp-block-group__inner-container {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 22px !important;

	align-items: stretch !important;

	width: 100% !important;
	min-width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   GRID DIRECT CHILD
========================================================= */

.sn-service-features__grid > *,
.sn-service-features__grid
> .wp-block-group__inner-container
> * {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   FEATURE CARD
========================================================= */

.sn-service-feature-card {
	position: relative;

	display: flex !important;

	flex-direction: column !important;
	align-items: center !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	height: 100% !important;

	margin: 0 !important;
	padding: 32px 26px 30px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 8px;

	box-shadow:
		0 8px 26px rgba(15, 35, 65, .04);

	box-sizing: border-box !important;

	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}


/* Gutenberg Groupのflex/width解除 */
.sn-service-feature-card.is-layout-flex,
.sn-service-feature-card.wp-block-group-is-layout-flex,
.sn-service-feature-card.is-layout-flow,
.sn-service-feature-card.wp-block-group-is-layout-flow,
.sn-service-feature-card.is-layout-constrained,
.sn-service-feature-card.wp-block-group-is-layout-constrained {
	width: 100% !important;
	max-width: none !important;
}


/* hover */
@media (hover: hover) {

	.sn-service-feature-card:hover {
		transform: translateY(-4px);

		border-color: #c4d6ef;

		box-shadow:
			0 14px 34px rgba(15, 35, 65, .08);
	}

}


/* =========================================================
   CARD NUMBER
========================================================= */

.sn-service-feature-card__number {
	display: block !important;

	width: 100% !important;

	margin: 0 0 18px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .12em;

	text-align: center !important;
}


/* =========================================================
   CARD ICON WRAPPER
========================================================= */

.sn-service-feature-card__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 88px !important;
	min-width: 88px !important;
	max-width: 88px !important;

	height: 88px !important;

	margin: 0 auto 24px !important;
	padding: 10px !important;

	background: #f4f8ff;

	border-radius: 12px;

	box-sizing: border-box !important;
}


/* =========================================================
   ICON FIGURE
========================================================= */

.sn-service-feature-card__icon .wp-block-image,
.sn-service-feature-card__icon figure {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   ICON IMAGE
========================================================= */

.sn-service-feature-card__icon img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	max-width: 100% !important;

	margin: 0 auto !important;
	padding: 0 !important;

	object-fit: contain !important;
}


/* =========================================================
   CARD TITLE
========================================================= */

.sn-service-feature-card__title {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;

	letter-spacing: -.01em;

	text-align: center !important;

	word-break: normal !important;
	overflow-wrap: break-word !important;
}


/* =========================================================
   CARD TEXT
========================================================= */

.sn-service-feature-card__text {
	display: block !important;

	width: 100% !important;

	margin: 16px 0 0 !important;
	padding: 0 !important;

	color: #5b6b82 !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.85 !important;

	text-align: left !important;

	word-break: normal !important;
	overflow-wrap: break-word !important;
}


/* =========================================================
   OPTIONAL LABEL
========================================================= */

.sn-service-feature-card__label {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	align-self: center;

	width: auto !important;

	margin: 18px auto 0 !important;
	padding: 6px 11px !important;

	background: #edf4ff;

	border-radius: 999px;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	text-align: center !important;
}


/* =========================================================
   HIKARI SPECIFIC
========================================================= */

.sn-hikari-features {
	background:
		linear-gradient(
			180deg,
			#f7f9fc 0%,
			#f9fbfe 100%
		);
}


/* =========================================================
   FIXED IP CARD
========================================================= */

/*
 * 固定IPカードに以下2クラスを付けることを推奨
 *
 * sn-service-feature-card
 * sn-service-feature-card--fixedip
 */

.sn-service-feature-card--fixedip {
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f7faff 100%
		) !important;

	border-color: #bdd2ff !important;
}


.sn-service-feature-card--fixedip::before {
	content: "";

	position: absolute;

	top: -1px;
	left: 50%;

	width: 48px;
	height: 3px;

	background: #1769ff;

	border-radius: 0 0 3px 3px;

	transform: translateX(-50%);
}


/* =========================================================
   GUTENBERG / KADENCE RESET
========================================================= */

.sn-service-features *,
.sn-service-features *::before,
.sn-service-features *::after {
	box-sizing: border-box;
}


/*
 * wp-block-group が fit-content 相当になるケースを防止
 */
.sn-service-features .wp-block-group {
	max-width: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-features {
		padding:
			82px
			24px
			90px !important;
	}


	.sn-service-section__title {
		font-size: 34px !important;
	}


	.sn-service-features__grid,
	.sn-service-features__grid.is-layout-flex,
	.sn-service-features__grid.wp-block-group-is-layout-flex,
	.sn-service-features__grid.is-layout-flow,
	.sn-service-features__grid.wp-block-group-is-layout-flow,
	.sn-service-features__grid.is-layout-constrained,
	.sn-service-features__grid.wp-block-group-is-layout-constrained,
	.sn-service-features__grid
	> .wp-block-group__inner-container {

		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		gap: 20px !important;
	}


	.sn-service-features__grid {
		margin-top: 46px !important;
	}


	.sn-service-feature-card {
		padding:
			30px
			26px
			28px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-features {
		padding:
			68px
			20px
			74px !important;
	}


	.sn-service-section__eyebrow {
		margin-bottom: 10px !important;

		font-size: 11px !important;
	}


	.sn-service-section__title {
		font-size: 28px !important;
		line-height: 1.45 !important;
	}


	.sn-service-section__lead {
		margin-top: 14px !important;

		font-size: 14px !important;
		line-height: 1.8 !important;
	}


	.sn-service-features__grid,
	.sn-service-features__grid.is-layout-flex,
	.sn-service-features__grid.wp-block-group-is-layout-flex,
	.sn-service-features__grid.is-layout-flow,
	.sn-service-features__grid.wp-block-group-is-layout-flow,
	.sn-service-features__grid.is-layout-constrained,
	.sn-service-features__grid.wp-block-group-is-layout-constrained,
	.sn-service-features__grid
	> .wp-block-group__inner-container {

		grid-template-columns: 1fr !important;

		gap: 16px !important;
	}


	.sn-service-features__grid {
		margin-top: 38px !important;
	}


	.sn-service-feature-card {
		padding:
			28px
			22px
			26px !important;
	}


	.sn-service-feature-card__number {
		margin-bottom: 16px !important;

		font-size: 11px !important;
	}


	.sn-service-feature-card__icon {
		width: 80px !important;
		min-width: 80px !important;
		max-width: 80px !important;

		height: 80px !important;

		margin-bottom: 20px !important;

		padding: 9px !important;
	}


	.sn-service-feature-card__title {
		font-size: 18px !important;
	}


	.sn-service-feature-card__text {
		margin-top: 13px !important;

		font-size: 13px !important;
		line-height: 1.8 !important;
	}

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.sn-service-features {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}


	.sn-service-section__title {
		font-size: 26px !important;
	}


	.sn-service-feature-card {
		padding:
			26px
			20px
			24px !important;
	}

}

/* =========================================================
   SERVICE PRICE
   シグナル光 料金プラン
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-service-price {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #ffffff;

	box-sizing: border-box !important;
}


/* =========================================================
   INNER
========================================================= */

.sn-service-price__inner {
	display: block !important;

	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}

.sn-service-price__inner > * {
	width: 100% !important;
	max-width: none !important;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.sn-service-price .sn-service-section__eyebrow {
	margin: 0 0 12px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .12em;

	text-align: center !important;
	text-transform: uppercase;
}

.sn-service-price .sn-service-section__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: -.02em;

	text-align: center !important;
}

.sn-service-price .sn-service-section__lead {
	width: 100% !important;
	max-width: 760px !important;

	margin: 18px auto 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: center !important;
}


/* =========================================================
   INITIAL COST
========================================================= */

.sn-service-price__initial {
	display: block !important;

	width: 100% !important;

	margin: 56px 0 0 !important;
	padding: 0 !important;
}


/* =========================================================
   INITIAL HEADER
========================================================= */

.sn-service-price__initial-header {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

.sn-service-price__initial-eyebrow {
	margin: 0 0 8px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .1em;

	text-transform: uppercase;
}

.sn-service-price__initial-title {
	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.sn-service-price__initial-lead {
	width: 100% !important;
	max-width: 720px !important;

	margin: 10px 0 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 14px !important;
	line-height: 1.8 !important;
}


/* =========================================================
   INITIAL COLUMNS
========================================================= */

.sn-service-price__initial-columns {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 28px auto 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}

.sn-service-price__initial-columns .kt-row-column-wrap {
	display: grid !important;

	grid-template-columns:
		repeat(3, minmax(0, 1fr)) !important;

	gap: 20px !important;

	align-items: stretch !important;

	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}

.sn-service-price__initial-columns .wp-block-kadence-column {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

.sn-service-price__initial-columns .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   INITIAL CARD
========================================================= */

.sn-service-price-initial-card {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;

	height: 100% !important;

	margin: 0 !important;
	padding: 26px 24px !important;

	background: #f8fafc;

	border: 1px solid #dbe5f1;
	border-radius: 8px;

	box-shadow:
		0 6px 20px rgba(15,35,65,.035);

	box-sizing: border-box !important;
}

.sn-service-price-initial-card--fixedip {
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f6f9ff 100%
		);

	border-color: #bdd2ff;
}


/* =========================================================
   INITIAL CARD TEXT
========================================================= */

.sn-service-price-initial-card__label {
	margin: 0 !important;

	color: #101d36 !important;

	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.sn-service-price-initial-card__price {
	margin: 18px 0 0 !important;

	color: #1769ff !important;

	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.sn-service-price-initial-card__tax {
	margin: 5px 0 0 !important;

	color: #64748b !important;

	font-size: 11px !important;
	line-height: 1.5 !important;
}

.sn-service-price-initial-card__note {
	margin: 14px 0 0 !important;

	color: #7b8798 !important;

	font-size: 11px !important;
	line-height: 1.7 !important;
}


/* =========================================================
   FIXED IP INITIAL ROWS
========================================================= */

.sn-service-price-initial-card__rows {
	width: 100% !important;

	margin: 18px 0 0 !important;
	padding: 0 !important;
}

.sn-service-price-initial-card__row {
	display: flex !important;

	align-items: center !important;
	justify-content: space-between !important;

	gap: 20px !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 11px 0 !important;

	border-bottom: 1px solid #e0e7f0;
}

.sn-service-price-initial-card__row:last-child {
	border-bottom: 0;
}

.sn-service-price-initial-card__name {
	margin: 0 !important;

	color: #334155 !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.sn-service-price-initial-card__value {
	margin: 0 !important;

	color: #1769ff !important;

	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}


/* =========================================================
   MONTHLY PLANS WRAPPER
========================================================= */

.sn-service-price__plans {
	display: flex !important;

	flex-direction: column !important;

	width: 100% !important;

	margin: 56px 0 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   PLAN CARD
========================================================= */

.sn-service-price-plan {
	position: relative;

	display: flex !important;

	flex-direction: column !important;
	align-items: stretch !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 8px;

	overflow: hidden;

	box-shadow:
		0 8px 26px rgba(15,35,65,.04);

	box-sizing: border-box !important;
}

.sn-service-price-plan.is-layout-flex,
.sn-service-price-plan.is-layout-flow,
.sn-service-price-plan.is-layout-constrained,
.sn-service-price-plan.wp-block-group-is-layout-flex,
.sn-service-price-plan.wp-block-group-is-layout-flow,
.sn-service-price-plan.wp-block-group-is-layout-constrained {
	display: flex !important;
	flex-direction: column !important;
}


/* =========================================================
   PLAN SPACING
========================================================= */

.sn-service-price-plan--family,
.sn-service-price-plan--mansion {
	margin-top: 28px !important;
}


/* =========================================================
   PLAN HEADER
========================================================= */

.sn-service-price-plan__header {
	display: grid !important;

	grid-template-columns:
		minmax(0, 1fr)
		auto !important;

	gap: 40px !important;

	align-items: center !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 28px 30px !important;

	background:
		linear-gradient(
			90deg,
			#eef5ff 0%,
			#f8fbff 55%,
			#ffffff 100%
		);

	border-bottom: 1px solid #dbe5f1;

	box-sizing: border-box !important;
}


/* =========================================================
   PLAN HEADING
========================================================= */

.sn-service-price-plan__heading {
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;
}

.sn-service-price-plan__badge {
	display: inline-flex !important;

	width: auto !important;

	margin: 0 0 10px !important;
	padding: 5px 10px !important;

	background: #1769ff;

	border-radius: 3px;

	color: #ffffff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.sn-service-price-plan__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: -.01em;
}

.sn-service-price-plan__description {
	max-width: 620px !important;

	margin: 8px 0 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	line-height: 1.7 !important;
}


/* =========================================================
   SPEED / TYPE
========================================================= */

.sn-service-price-plan__speed {
	display: flex !important;

	flex-direction: column !important;

	align-items: flex-end !important;
	justify-content: center !important;

	min-width: 190px !important;

	margin: 0 !important;
	padding: 0 !important;

	text-align: right !important;
}

.sn-service-price-plan__speed-label {
	margin: 0 0 5px !important;
	padding: 0 !important;

	color: #7b8798 !important;

	font-size: 11px !important;
	line-height: 1.4 !important;
}

.sn-service-price-plan__speed-value {
	margin: 0 !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}


/* =========================================================
   CUSTOM HTML PRICE TABLE
========================================================= */

.sn-price-table {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #ffffff;

	box-sizing: border-box !important;
}


/* =========================================================
   PRICE TABLE ROW
========================================================= */

.sn-price-table__row {
	display: grid !important;

	grid-template-columns:
		1fr 1fr !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	border-bottom: 1px solid #dbe5f1;

	box-sizing: border-box !important;
}

.sn-price-table__row:last-child {
	border-bottom: 0;
}


/* =========================================================
   PRICE TABLE CELL
========================================================= */

.sn-price-table__cell {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-width: 0 !important;
	min-height: 82px;

	margin: 0 !important;
	padding: 16px 22px !important;

	color: #101d36 !important;

	font-size: 14px !important;
	line-height: 1.5 !important;

	text-align: center !important;

	box-sizing: border-box !important;
}

.sn-price-table__cell:first-child {
	border-right: 1px solid #dbe5f1;
}


/* =========================================================
   PRICE TABLE HEAD
========================================================= */

.sn-price-table__head {
	background: #1556b8 !important;
}

.sn-price-table__head
.sn-price-table__cell {
	min-height: 56px;

	padding: 13px 20px !important;

	color: #ffffff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.sn-price-table__head
.sn-price-table__cell:first-child {
	border-right:
		1px solid rgba(255,255,255,.3);
}


/* =========================================================
   PRICE NAME
========================================================= */

.sn-price-table__name {
	margin: 0 !important;

	color: #101d36 !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}


/* =========================================================
   PRICE
========================================================= */

.sn-price-table__price {
	flex-direction: column !important;

	gap: 3px !important;
}

.sn-price-table__price strong {
	margin: 0 !important;

	color: #1769ff !important;

	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;

	white-space: nowrap;
}

.sn-price-table__price span {
	margin: 0 !important;

	color: #64748b !important;

	font-size: 11px !important;
	line-height: 1.4 !important;

	white-space: nowrap;
}


/* =========================================================
   PRICE TABLE ZEBRA
========================================================= */

.sn-price-table__row:nth-child(odd):not(.sn-price-table__head) {
	background: #f8fbff;
}


/* =========================================================
   PLAN OPTION
========================================================= */

.sn-service-price-plan__option {
	display: grid !important;

	grid-template-columns:
		minmax(0, 1fr)
		auto !important;

	gap: 24px !important;

	align-items: center !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 18px 24px !important;

	background: #f8fafc;

	border-top: 1px solid #dbe5f1;

	box-sizing: border-box !important;
}


/* =========================================================
   OPTION HEADING
========================================================= */

.sn-service-price-plan__option-heading {
	display: flex !important;

	align-items: center !important;

	flex-wrap: wrap !important;

	gap: 10px !important;

	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;
}

.sn-service-price-plan__option-badge {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;

	margin: 0 !important;
	padding: 4px 8px !important;

	background: #edf4ff;

	border-radius: 3px;

	color: #1769ff !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.sn-service-price-plan__option-title {
	margin: 0 !important;
	padding: 0 !important;

	color: #334155 !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}


/* =========================================================
   OPTION PRICE
========================================================= */

.sn-service-price-plan__option-price {
	display: flex !important;

	align-items: baseline !important;
	justify-content: flex-end !important;

	gap: 4px !important;

	flex-shrink: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	text-align: right !important;
}

.sn-service-price-plan__option-value {
	margin: 0 !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;

	white-space: nowrap;
}

.sn-service-price-plan__option-tax {
	margin: 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 10px !important;
	line-height: 1.5 !important;

	white-space: nowrap;
}


/* =========================================================
   PLAN NOTE
========================================================= */

.sn-service-price-plan__note {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 13px 24px 16px !important;

	background: #ffffff;

	color: #7b8798 !important;

	font-size: 10px !important;
	line-height: 1.7 !important;

	border-top: 1px solid #eef2f7;

	box-sizing: border-box !important;
}


/* =========================================================
   PLAN VARIANTS
========================================================= */

.sn-service-price-plan--10g {
	border-color: #bdd2ff;
}

.sn-service-price-plan--family,
.sn-service-price-plan--mansion {
	border-color: #dbe5f1;
}


/* =========================================================
   SECTION NOTES
========================================================= */

.sn-service-price__notes {
	width: 100% !important;

	margin: 26px 0 0 !important;
	padding: 0 !important;
}

.sn-service-price__notes p {
	margin: 0 0 6px !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 11px !important;
	line-height: 1.7 !important;
}

.sn-service-price__notes p:last-child {
	margin-bottom: 0 !important;
}


/* =========================================================
   HIKARI
========================================================= */

.sn-hikari-price {
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#fbfcfe 100%
		);
}


/* =========================================================
   RESET
========================================================= */

.sn-service-price *,
.sn-service-price *::before,
.sn-service-price *::after {
	box-sizing: border-box !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-price {
		padding:
			82px
			24px
			90px !important;
	}

	.sn-service-price
	.sn-service-section__title {
		font-size: 34px !important;
	}


	/* INITIAL */

	.sn-service-price__initial-columns
	.kt-row-column-wrap {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		gap: 20px !important;
	}


	/* PLAN HEADER */

	.sn-service-price-plan__header {
		padding: 26px !important;
	}

	.sn-service-price-plan__title {
		font-size: 22px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-price {
		padding:
			68px
			20px
			74px !important;
	}


	/* SECTION */

	.sn-service-price
	.sn-service-section__eyebrow {
		font-size: 11px !important;
	}

	.sn-service-price
	.sn-service-section__title {
		font-size: 28px !important;
		line-height: 1.45 !important;
	}

	.sn-service-price
	.sn-service-section__lead {
		margin-top: 14px !important;

		font-size: 14px !important;
	}


	/* INITIAL */

	.sn-service-price__initial {
		margin-top: 42px !important;
	}

	.sn-service-price__initial-title {
		font-size: 22px !important;
	}

	.sn-service-price__initial-columns {
		margin-top: 22px !important;
	}

	.sn-service-price__initial-columns
	.kt-row-column-wrap {
		grid-template-columns: 1fr !important;

		gap: 14px !important;
	}

	.sn-service-price-initial-card {
		padding: 22px 20px !important;
	}


	/* PLAN */

	.sn-service-price__plans {
		margin-top: 42px !important;
	}


	/* PLAN SPACING */

	.sn-service-price-plan--family,
	.sn-service-price-plan--mansion {
		margin-top: 20px !important;
	}


	/* PLAN HEADER */

	.sn-service-price-plan__header {
		display: block !important;

		padding: 22px 20px !important;
	}

	.sn-service-price-plan__speed {
		align-items: flex-start !important;

		min-width: 0 !important;

		margin-top: 18px !important;

		text-align: left !important;
	}

	.sn-service-price-plan__title {
		font-size: 20px !important;
	}


	/* PRICE TABLE */

	.sn-price-table__row {
		grid-template-columns:
			42% 58% !important;
	}

	.sn-price-table__cell {
		min-height: 72px;

		padding: 14px 10px !important;

		font-size: 13px !important;
	}

	.sn-price-table__head
	.sn-price-table__cell {
		min-height: 48px;

		padding: 11px 8px !important;

		font-size: 11px !important;
	}

	.sn-price-table__name {
		font-size: 13px !important;
	}

	.sn-price-table__price strong {
		font-size: 18px !important;
	}

	.sn-price-table__price span {
		font-size: 10px !important;
	}


	/* OPTION */

	.sn-service-price-plan__option {
		display: block !important;

		padding: 16px 18px !important;
	}

	.sn-service-price-plan__option-heading {
		gap: 8px !important;
	}

	.sn-service-price-plan__option-price {
		justify-content: flex-start !important;

		margin-top: 10px !important;

		text-align: left !important;
	}

	.sn-service-price-plan__option-value {
		font-size: 18px !important;
	}


	/* NOTE */

	.sn-service-price-plan__note {
		padding:
			12px
			18px
			14px !important;
	}

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.sn-service-price {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.sn-service-price
	.sn-service-section__title {
		font-size: 26px !important;
	}

}

/* =========================================================
   SIGNAL HIKARI
   FLOW / ご利用開始までの流れ
========================================================= */


/* SECTION */

.sn-service-flow {
	width: 100%;
	padding: 96px 24px;
	background: #ffffff;
}

.sn-service-flow__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}


/* =========================================================
   FLOW COLUMNS
========================================================= */

.sn-service-flow__columns {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 48px auto 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* Kadence内部 */

.sn-service-flow__columns .kt-row-column-wrap {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 24px !important;

	align-items: stretch !important;

	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* 各カラム */

.sn-service-flow__columns .wp-block-kadence-column {
	width: 100% !important;
	min-width: 0 !important;

	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* カラム内部 */

.sn-service-flow__columns .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   FLOW CARD
========================================================= */

.sn-service-flow-card {
	position: relative;

	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;

	width: 100% !important;
	height: 100% !important;

	min-width: 0;

	margin: 0 !important;
	padding: 34px 24px 30px !important;

	background: #ffffff;

	border: 1px solid #dbe6f5;
	border-radius: 10px;

	text-align: center;

	box-shadow:
		0 8px 24px rgba(15, 42, 77, 0.05);

	box-sizing: border-box !important;
}


/* =========================================================
   STEP NUMBER
========================================================= */

.sn-service-flow-card__number {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	margin: -55px auto 22px !important;

	background: #1769ff;
	border-radius: 50%;

	color: #ffffff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	letter-spacing: .04em;

	box-shadow:
		0 4px 12px rgba(23, 105, 255, .20);

	position: relative;
	z-index: 2;
}


/* =========================================================
   ICON
========================================================= */

.sn-service-flow-card__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 104px;
	height: 104px;

	margin: 0 auto 22px !important;
	padding: 0 !important;

	background: #f2f7ff;

	border-radius: 50%;
}


.sn-service-flow-card__icon figure {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	margin: 0 !important;
	padding: 0 !important;
}


.sn-service-flow-card__icon img {
	display: block;

	width: 72px !important;
	height: 72px !important;

	max-width: 72px !important;
	max-height: 72px !important;

	margin: 0 auto !important;

	object-fit: contain;
}


/* =========================================================
   TITLE
========================================================= */

.sn-service-flow-card__title {
	margin: 0 0 14px !important;

	color: #0b1f3a !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	text-align: center !important;
}


/* =========================================================
   TEXT
========================================================= */

.sn-service-flow-card__text {
	margin: 0 !important;

	color: #53657c !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.9 !important;

	text-align: left !important;
}


/* =========================================================
   NOTE
========================================================= */

.sn-service-flow-card__note {
	width: 100%;

	margin: 16px 0 0 !important;
	padding: 14px 0 0 !important;

	border-top: 1px solid #e5edf7;

	color: #75869a !important;

	font-size: 11px !important;
	line-height: 1.7 !important;

	text-align: left !important;
}


/* =========================================================
   COMPLETE
========================================================= */

.sn-service-flow-card--complete {
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f5f9ff 100%
		);
}


/* =========================================================
   ARROWS
========================================================= */

.sn-service-flow__columns
.wp-block-kadence-column:not(:last-child)
.sn-service-flow-card::after {
	content: "→";

	position: absolute;

	top: 50%;
	right: -36px;

	transform: translateY(-50%);

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

	width: 48px;
	height: 48px;

	color: #1769ff;

	font-size: 24px;
	font-weight: 500;
	line-height: 1;

	z-index: 5;

	pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-flow {
		padding: 80px 24px;
	}

	.sn-service-flow__columns .kt-row-column-wrap {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		gap: 52px 24px !important;
	}

	.sn-service-flow-card {
		padding: 34px 28px 30px !important;
	}

	.sn-service-flow__columns
	.wp-block-kadence-column
	.sn-service-flow-card::after {
		display: none;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-flow {
		padding: 64px 20px;
	}

	.sn-service-flow__columns {
		margin-top: 42px !important;
	}

	.sn-service-flow__columns .kt-row-column-wrap {
		grid-template-columns: 1fr !important;

		gap: 48px !important;
	}

	.sn-service-flow-card {
		padding: 32px 22px 26px !important;
	}

	.sn-service-flow-card__number {
		width: 40px;
		height: 40px;

		margin: -52px auto 20px !important;

		font-size: 12px !important;
	}

	.sn-service-flow-card__icon {
		width: 92px;
		height: 92px;

		margin-bottom: 18px !important;
	}

	.sn-service-flow-card__icon img {
		width: 64px !important;
		height: 64px !important;

		max-width: 64px !important;
		max-height: 64px !important;
	}

	.sn-service-flow-card__title {
		margin-bottom: 10px !important;

		font-size: 17px !important;
	}

	.sn-service-flow-card__text {
		font-size: 13px !important;
		line-height: 1.85 !important;
	}

	.sn-service-flow-card__note {
		margin-top: 14px !important;
		padding-top: 12px !important;

		font-size: 11px !important;
	}

}

/* =========================================================
   SERVICE FAQ
   v6プラス / シグナル光 共通
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-service-faq {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #f8fafc;

	box-sizing: border-box !important;
}


/* =========================================================
   INNER
========================================================= */

.sn-service-faq__inner {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   COLUMNS
========================================================= */

.sn-service-faq__columns {
	width: 100% !important;

	margin: 48px 0 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


.sn-service-faq__columns.wp-block-columns {
	display: grid !important;

	grid-template-columns:
		repeat(2, minmax(0, 1fr)) !important;

	gap: 20px !important;

	align-items: start !important;
}


/* =========================================================
   COLUMN
========================================================= */

.sn-service-faq__column {
	display: flex !important;
	flex-direction: column !important;

	gap: 12px !important;

	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;
}


.sn-service-faq__column.wp-block-column {
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* =========================================================
   FAQ ITEM
========================================================= */

.sn-service-faq-item {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #ffffff !important;

	border: 1px solid #dbe5f1 !important;
	border-radius: 7px !important;

	outline: none !important;

	box-shadow: none !important;

	overflow: hidden;

	box-sizing: border-box !important;
}


/*
 * Gutenberg / Theme側の余分な枠を解除
 */

details.sn-service-faq-item,
.wp-block-details.sn-service-faq-item {
	border: 1px solid #dbe5f1 !important;
	outline: 0 !important;
	box-shadow: none !important;
}


/* hover */

.sn-service-faq-item:hover {
	border-color: #c5d6ec !important;
}


/* open */

.sn-service-faq-item[open] {
	border-color: #b7ccef !important;

	box-shadow: none !important;
}


/* =========================================================
   SUMMARY
========================================================= */

.sn-service-faq-item > summary {
	position: relative;

	display: flex !important;

	align-items: center !important;

	width: 100% !important;
	min-height: 58px;

	margin: 0 !important;
	padding:
		16px
		50px
		16px
		18px !important;

	background: transparent !important;

	border: 0 !important;
	outline: 0 !important;

	color: #101d36 !important;

	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.6 !important;

	cursor: pointer;

	list-style: none !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


/* Chrome / Safari */

.sn-service-faq-item > summary::-webkit-details-marker {
	display: none !important;
}


/* Firefox */

.sn-service-faq-item > summary::marker {
	display: none !important;
	content: "" !important;
}


/* =========================================================
   Q LABEL
========================================================= */

/*
 * 質問本文に「Q.」を直接入力していない場合のみ使用。
 * v6プラスと同じシンプルデザインなら非表示を推奨。
 */

.sn-service-faq-item > summary::before {
	content: none !important;
}


/* =========================================================
   ARROW
========================================================= */

.sn-service-faq-item > summary::after {
	content: "";

	position: absolute;

	top: 50%;
	right: 20px;

	width: 9px;
	height: 9px;

	border-right: 2px solid #475569;
	border-bottom: 2px solid #475569;

	transform:
		translateY(-70%)
		rotate(45deg);

	transition: transform .2s ease;
}


/* open */

.sn-service-faq-item[open] > summary::after {
	transform:
		translateY(-25%)
		rotate(225deg);
}


/* =========================================================
   ANSWER
========================================================= */

.sn-service-faq-item > p {
	margin: 0 18px !important;

	padding:
		15px
		0
		18px !important;

	border-top: 1px solid #edf1f6 !important;

	color: #64748b !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.85 !important;

	box-sizing: border-box !important;
}


/* Answer内リンク */

.sn-service-faq-item > p a {
	color: #1769ff !important;

	font-weight: 600;

	text-decoration: underline;
	text-underline-offset: 3px;
}


.sn-service-faq-item > p a:hover {
	color: #0f54d8 !important;
}


/* =========================================================
   ACTIONS
========================================================= */

.sn-service-faq__actions {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;

	margin: 34px 0 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	outline: 0 !important;

	box-shadow: none !important;
}


/*
 * Gutenberg Buttonsブロック自身には
 * 枠・背景を付けない
 */

.wp-block-buttons.sn-service-faq__actions {
	background: transparent !important;

	border: 0 !important;
	outline: 0 !important;

	box-shadow: none !important;
}


/* =========================================================
   BUTTON BLOCK
========================================================= */

/*
 * sn-service-faq__button は
 * 「Button」ブロック側に付ける
 */

.sn-service-faq__button,
.wp-block-button.sn-service-faq__button {
	width: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	outline: 0 !important;

	box-shadow: none !important;
}


/* =========================================================
   BUTTON LINK
========================================================= */

.sn-service-faq__button .wp-block-button__link,
.wp-block-button.sn-service-faq__button > .wp-block-button__link {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 280px !important;

	margin: 0 !important;
	padding: 13px 26px !important;

	background: #ffffff !important;

	border: 1px solid #1769ff !important;
	border-radius: 5px !important;

	outline: none !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	text-decoration: none !important;

	box-shadow: none !important;

	box-sizing: border-box !important;

	transition:
		background-color .2s ease,
		color .2s ease,
		border-color .2s ease;
}


/* Arrow */

.sn-service-faq__button .wp-block-button__link::after {
	content: "→";

	margin-left: 8px;

	transition: transform .2s ease;
}


/* Hover */

.sn-service-faq__button .wp-block-button__link:hover {
	background: #1769ff !important;

	border-color: #1769ff !important;

	color: #ffffff !important;
}


.sn-service-faq__button .wp-block-button__link:hover::after {
	transform: translateX(3px);
}


/* =========================================================
   RESET
========================================================= */

.sn-service-faq *,
.sn-service-faq *::before,
.sn-service-faq *::after {
	box-sizing: border-box !important;
}


/* Gutenberg block gap */

.sn-service-faq__column > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-faq {
		padding:
			80px
			24px
			88px !important;
	}

	.sn-service-faq__columns {
		margin-top: 42px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-faq {
		padding:
			64px
			20px
			72px !important;
	}


	/* 1 COLUMN */

	.sn-service-faq__columns.wp-block-columns {
		grid-template-columns: 1fr !important;

		gap: 12px !important;

		margin-top: 36px !important;
	}


	.sn-service-faq__column {
		gap: 12px !important;
	}


	/* ITEM */

	.sn-service-faq-item > summary {
		min-height: 56px;

		padding:
			15px
			44px
			15px
			16px !important;

		font-size: 13px !important;
	}


	.sn-service-faq-item > summary::after {
		right: 17px;

		width: 8px;
		height: 8px;
	}


	.sn-service-faq-item > p {
		margin:
			0
			16px !important;

		padding:
			14px
			0
			16px !important;

		font-size: 12px !important;
		line-height: 1.8 !important;
	}


	/* ACTION */

	.sn-service-faq__actions {
		margin-top: 28px !important;
	}


	/* BUTTON */

	.sn-service-faq__button,
	.wp-block-button.sn-service-faq__button {
		width: 100% !important;
	}


	.sn-service-faq__button .wp-block-button__link,
	.wp-block-button.sn-service-faq__button > .wp-block-button__link {
		width: 100% !important;
		min-width: 0 !important;

		padding:
			13px
			18px !important;
	}

}

/* =========================================================
   SERVICE FINAL CTA
   最終CTA
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-service-final-cta {
	width: 100% !important;
	margin: 0 !important;
	padding: 72px 24px !important;

	box-sizing: border-box !important;
}


/* Kadence / Gutenberg の幅制限対策 */
.sn-service-final-cta > .kt-row-column-wrap,
.sn-service-final-cta .kt-row-column-wrap {
	width: 100% !important;
	max-width: 1200px !important;

	margin-left: auto !important;
	margin-right: auto !important;
}


/* =========================================================
   CTA BOX
========================================================= */

.sn-service-final-cta__inner {
	display: flex !important;

	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;

	gap: 48px !important;

	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 38px 48px !important;

	background:
		linear-gradient(
			135deg,
			#0d4da8 0%,
			#1769ff 100%
		) !important;

	border-radius: 10px !important;

	box-shadow:
		0 12px 30px rgba(18, 70, 145, .12);

	box-sizing: border-box !important;
}


/* Gutenberg Group の標準レイアウト解除 */
.sn-service-final-cta__inner.wp-block-group {
	display: flex !important;
}


/* =========================================================
   CONTENT
========================================================= */

.sn-service-final-cta__content {
	flex: 1 1 auto !important;

	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Gutenberg Group対策 */
.sn-service-final-cta__content.wp-block-group {
	display: block !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-service-final-cta__content h2 {
	margin: 0 !important;
	padding: 0 !important;

	color: #ffffff !important;

	font-size: clamp(24px, 2.2vw, 32px) !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: .01em !important;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.sn-service-final-cta__content p {
	margin: 10px 0 0 !important;
	padding: 0 !important;

	color: rgba(255, 255, 255, .84) !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   BUTTON WRAPPER
========================================================= */

/*
 * sn-service-final-cta__button を
 * Gutenbergの「ボタン」ブロックに付ける想定
 */

.sn-service-final-cta__button {
	flex: 0 0 auto !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Buttons親ブロック側にクラスを付けた場合にも対応 */
.wp-block-buttons.sn-service-final-cta__button {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	margin: 0 !important;
}


/* =========================================================
   BUTTON
========================================================= */

.sn-service-final-cta__button .wp-block-button__link,
.wp-block-button.sn-service-final-cta__button .wp-block-button__link {
	position: relative;

	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-width: 220px !important;
	min-height: 56px !important;

	margin: 0 !important;
	padding: 15px 50px 15px 28px !important;

	background: #ffd83d !important;

	border: 1px solid #ffd83d !important;
	border-radius: 6px !important;

	color: #10203c !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	text-align: center !important;
	text-decoration: none !important;

	box-shadow:
		0 5px 14px rgba(0, 0, 0, .10) !important;

	transition:
		background-color .2s ease,
		border-color .2s ease,
		transform .2s ease,
		box-shadow .2s ease !important;
}


/* =========================================================
   BUTTON ARROW
========================================================= */

.sn-service-final-cta__button .wp-block-button__link::after,
.wp-block-button.sn-service-final-cta__button .wp-block-button__link::after {
	content: "→";

	position: absolute;

	top: 50%;
	right: 22px;

	transform: translateY(-50%);

	font-size: 17px;
	font-weight: 700;
	line-height: 1;

	transition: transform .2s ease;
}


/* =========================================================
   BUTTON HOVER
========================================================= */

.sn-service-final-cta__button .wp-block-button__link:hover,
.wp-block-button.sn-service-final-cta__button .wp-block-button__link:hover {
	background: #ffe267 !important;

	border-color: #ffe267 !important;

	color: #10203c !important;

	transform: translateY(-2px);

	box-shadow:
		0 8px 18px rgba(0, 0, 0, .14) !important;
}


.sn-service-final-cta__button .wp-block-button__link:hover::after,
.wp-block-button.sn-service-final-cta__button .wp-block-button__link:hover::after {
	transform:
		translateY(-50%)
		translateX(4px);
}


/* =========================================================
   FOCUS
========================================================= */

.sn-service-final-cta__button .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(255, 255, 255, .75) !important;
	outline-offset: 3px !important;
}


/* =========================================================
   GUTENBERG RESET
========================================================= */

.sn-service-final-cta *,
.sn-service-final-cta *::before,
.sn-service-final-cta *::after {
	box-sizing: border-box !important;
}


.sn-service-final-cta__inner > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}


/* Gutenberg flow gap対策 */
.sn-service-final-cta__inner.is-layout-flow > * + *,
.sn-service-final-cta__content.is-layout-flow > * + * {
	margin-block-start: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-final-cta {
		padding:
			64px
			24px !important;
	}


	.sn-service-final-cta__inner {
		gap: 36px !important;

		padding:
			34px
			36px !important;
	}


	.sn-service-final-cta__content h2 {
		font-size: 26px !important;
	}


	.sn-service-final-cta__button .wp-block-button__link,
	.wp-block-button.sn-service-final-cta__button .wp-block-button__link {
		min-width: 200px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-final-cta {
		padding:
			48px
			20px !important;
	}


	/* 横並び解除 */

	.sn-service-final-cta__inner,
	.sn-service-final-cta__inner.wp-block-group {
		display: flex !important;

		flex-direction: column !important;
		align-items: stretch !important;

		gap: 26px !important;

		padding:
			30px
			24px !important;

		border-radius: 8px !important;
	}


	/* CONTENT */

	.sn-service-final-cta__content {
		width: 100% !important;

		text-align: center !important;
	}


	/* TITLE */

	.sn-service-final-cta__content h2 {
		font-size: 23px !important;
		line-height: 1.5 !important;

		text-align: center !important;
	}


	/* DESCRIPTION */

	.sn-service-final-cta__content p {
		margin-top: 10px !important;

		font-size: 13px !important;
		line-height: 1.8 !important;

		text-align: center !important;
	}


	/* BUTTON */

	.sn-service-final-cta__button,
	.wp-block-button.sn-service-final-cta__button {
		width: 100% !important;
	}


	.sn-service-final-cta__button .wp-block-button__link,
	.wp-block-button.sn-service-final-cta__button .wp-block-button__link {
		width: 100% !important;
		min-width: 0 !important;
		min-height: 54px !important;

		padding:
			14px
			48px
			14px
			20px !important;
	}

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.sn-service-final-cta {
		padding:
			40px
			16px !important;
	}


	.sn-service-final-cta__inner {
		padding:
			28px
			20px !important;
	}


	.sn-service-final-cta__content h2 {
		font-size: 21px !important;
	}


	.sn-service-final-cta__content p {
		font-size: 12px !important;
	}

}

/* =========================================================
   SIGNAL MOBILE FEATURES
   シグナルモバイル固有
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-mobile-features {
	background:
		linear-gradient(
			180deg,
			#f7fbff 0%,
			#ffffff 100%
		) !important;
}


/* =========================================================
   CARD BORDER / ACCENT
========================================================= */

.sn-mobile-features .sn-service-feature-card {
	border-color: #d9e7f8 !important;

	box-shadow:
		0 8px 24px rgba(23, 105, 255, .045) !important;
}


.sn-mobile-features .sn-service-feature-card:hover {
	border-color: #a9c8ff !important;

	box-shadow:
		0 12px 30px rgba(23, 105, 255, .09) !important;
}


/* =========================================================
   NUMBER
========================================================= */

.sn-mobile-features .sn-service-feature-card__number {
	color: #1769ff !important;
}


/* =========================================================
   ICON AREA
========================================================= */

.sn-mobile-features .sn-service-feature-card__icon {
	background: #eef5ff !important;
}


/* Kadence Icon */

.sn-mobile-features
.sn-service-feature-card__icon svg {
	color: #1769ff !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-mobile-features .sn-service-feature-card__title {
	color: #0b1f3a !important;
}


/* =========================================================
   TEXT
========================================================= */

.sn-mobile-features .sn-service-feature-card__text {
	color: #53657c !important;
}


/* =========================================================
   2nd CARD
   モバイル閉域網 / P2P
   少し強調
========================================================= */

.sn-mobile-features
.sn-service-feature-card:nth-child(2) {
	border-color: #b9d2ff !important;

	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f6f9ff 100%
		) !important;
}


/* =========================================================
   3rd CARD
   法人用途
========================================================= */

.sn-mobile-features
.sn-service-feature-card:nth-child(3)
.sn-service-feature-card__icon {
	background: #f1f7ff !important;
}


/* =========================================================
   4th CARD
   柔軟なプラン
========================================================= */

.sn-mobile-features
.sn-service-feature-card:nth-child(4)
.sn-service-feature-card__icon {
	background: #f3f7ff !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-mobile-features
	.sn-service-feature-card__title {
		font-size: 17px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-mobile-features {
		background: #f8fbff !important;
	}

}

/* =========================================================
   SERVICE PRICING
   料金セクション共通
========================================================= */

.sn-service-pricing {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;
	background: #f7fbff;
	box-sizing: border-box !important;
}

.sn-service-pricing__inner {
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}


/* =========================================================
   COLUMNS
========================================================= */

.sn-service-pricing__columns {
	width: 100% !important;
	margin: 48px 0 0 !important;
	padding: 0 !important;
}

.sn-service-pricing__columns .kt-row-column-wrap {
	align-items: stretch !important;
}

.sn-service-pricing__columns .wp-block-kadence-column,
.sn-service-pricing__columns .kt-inside-inner-col {
	height: 100% !important;
}


/* =========================================================
   PRICE CARD
========================================================= */

.sn-service-price-card {
	position: relative;

	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 30px 26px 28px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 8px;

	box-shadow: 0 8px 24px rgba(15, 35, 65, .045);

	box-sizing: border-box !important;
}


/* =========================================================
   BADGE
========================================================= */

.sn-service-price-card__badge {
	position: absolute;

	top: 0;
	left: 0;

	margin: 0 !important;
	padding: 6px 12px !important;

	background: #1769ff;

	border-radius: 7px 0 5px 0;

	color: #ffffff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}


/* =========================================================
   ICON
========================================================= */

.sn-service-price-card__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 52px !important;
	height: 52px !important;

	margin: 0 auto 16px !important;
	padding: 0 !important;

	background: #eef5ff;

	border-radius: 50%;
}

.sn-service-price-card__icon svg {
	width: 26px !important;
	height: 26px !important;

	color: #1769ff !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-service-price-card__title {
	margin: 0 !important;

	color: #101d36 !important;

	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;

	text-align: center !important;
}


/* =========================================================
   LEAD
========================================================= */

.sn-service-price-card__lead {
	min-height: 48px;

	margin: 10px 0 20px !important;

	color: #64748b !important;

	font-size: 13px !important;
	line-height: 1.7 !important;

	text-align: center !important;
}


/* =========================================================
   GUTENBERG TABLE
========================================================= */

.sn-service-price-table {
	width: 100% !important;

	margin: 0 !important;

	border-collapse: collapse !important;
	border-spacing: 0 !important;

	font-size: 13px !important;

	table-layout: fixed;
}

.sn-service-price-table table {
	width: 100% !important;

	margin: 0 !important;

	border-collapse: collapse !important;
	border-spacing: 0 !important;

	table-layout: fixed;
}


/* header */

.sn-service-price-table thead th {
	padding: 10px 8px !important;

	background: #f1f5f9 !important;

	border: 1px solid #dbe5f1 !important;

	color: #475569 !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	text-align: center !important;
}


/* body */

.sn-service-price-table tbody td {
	padding: 12px 8px !important;

	background: #ffffff !important;

	border: 1px solid #dbe5f1 !important;

	color: #334155 !important;

	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;

	text-align: center !important;
	vertical-align: middle !important;
}


/* price */

.sn-service-price-table tbody td strong {
	color: #1769ff !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}


/* small text */

.sn-service-price-table small {
	display: block;

	margin-top: 2px;

	color: #94a3b8 !important;

	font-size: 10px !important;
	line-height: 1.4 !important;
}


/* =========================================================
   FEATURES
========================================================= */

.sn-service-price-card__features {
	display: flex !important;
	flex-direction: column !important;

	gap: 7px !important;

	margin: 20px 0 0 !important;
	padding: 0 !important;
}

.sn-service-price-card__features p {
	position: relative;

	margin: 0 !important;
	padding: 0 0 0 20px !important;

	color: #475569 !important;

	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.65 !important;
}

.sn-service-price-card__features p::before {
	content: "✓";

	position: absolute;
	left: 0;
	top: 0;

	color: #1769ff;

	font-weight: 700;
}


/* =========================================================
   NOTES
========================================================= */

.sn-service-pricing__notes {
	width: 100% !important;

	margin: 22px 0 0 !important;
	padding: 0 !important;
}

.sn-service-pricing__notes p,
.sn-service-pricing__note {
	margin: 4px 0 0 !important;

	color: #64748b !important;

	font-size: 11px !important;
	line-height: 1.6 !important;
}

.sn-service-pricing__note--important {
	color: #334155 !important;
	font-weight: 700 !important;
}


/* =========================================================
   SIGNAL MOBILE SPECIFIC
========================================================= */

.sn-mobile-pricing .sn-mobile-price-card--monthly {
	border-color: #a9c7ff !important;
}

.sn-mobile-pricing .sn-mobile-price-card--iot {
	border-color: #d6b5ff !important;
}

.sn-mobile-pricing
.sn-mobile-price-card--iot
.sn-service-price-card__icon {
	background: #f6f0ff !important;
}

.sn-mobile-pricing
.sn-mobile-price-card--iot
.sn-service-price-card__icon svg {
	color: #8b35e8 !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-pricing {
		padding: 64px 20px 72px !important;
	}

	.sn-service-pricing__columns {
		margin-top: 36px !important;
	}

	.sn-service-price-card {
		padding: 28px 20px 24px !important;
	}

	.sn-service-price-card__title {
		font-size: 20px !important;
	}

	.sn-service-price-card__lead {
		min-height: 0;
	}

	.sn-service-price-table thead th {
		font-size: 10px !important;
		padding: 9px 5px !important;
	}

	.sn-service-price-table tbody td {
		font-size: 12px !important;
		padding: 10px 5px !important;
	}

	.sn-service-price-table tbody td strong {
		font-size: 16px !important;
	}

}

/* =========================================================
   SERVICE OPTIONS
   オプションサービス共通
========================================================= */

.sn-service-options {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #ffffff;

	box-sizing: border-box !important;
}

.sn-service-options__inner {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   COLUMNS
========================================================= */

.sn-service-options__columns {
	width: 100% !important;

	margin: 48px 0 0 !important;
	padding: 0 !important;
}

.sn-service-options__columns .kt-row-column-wrap {
	align-items: stretch !important;
}

.sn-service-options__columns .wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}

.sn-service-options__columns .kt-inside-inner-col {
	height: 100% !important;
}


/* =========================================================
   OPTION CARD
========================================================= */

.sn-service-option-card {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 30px 24px 26px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 8px;

	box-shadow:
		0 8px 24px rgba(15, 35, 65, .045);

	box-sizing: border-box !important;

	transition:
		transform .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}

.sn-service-option-card:hover {
	transform: translateY(-3px);

	border-color: #b8cdf0;

	box-shadow:
		0 12px 30px rgba(15, 35, 65, .08);
}


/* =========================================================
   ICON
========================================================= */

.sn-service-option-card__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 56px !important;

	width: 56px !important;
	height: 56px !important;

	margin: 0 0 22px !important;
	padding: 0 !important;

	background: #eef5ff;

	border-radius: 50%;

	box-sizing: border-box !important;
}


/* Kadence Icon */

.sn-service-option-card__icon svg {
	display: block !important;

	width: 26px !important;
	height: 26px !important;

	margin: 0 !important;

	color: #1769ff !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-service-option-card__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;

	letter-spacing: -.01em;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.sn-service-option-card__text {
	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   USE CASE
========================================================= */

.sn-service-option-card__use {
	position: relative;

	margin: auto 0 0 !important;
	padding: 18px 0 0 20px !important;

	color: #40516a !important;

	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
}


/* 上に余白を確保 */
.sn-service-option-card__text
	+ .sn-service-option-card__use {
	margin-top: 22px !important;
}


/* Check icon */

.sn-service-option-card__use::before {
	content: "✓";

	position: absolute;

	top: 18px;
	left: 0;

	color: #1769ff;

	font-size: 13px;
	font-weight: 700;
}


/* =========================================================
   MOBILE : SECURITY CARD
   シグナルモバイル固有
========================================================= */

.sn-mobile-options
.sn-mobile-option-card--security {
	border-color: #a9c7ff !important;

	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f7faff 100%
		) !important;
}

.sn-mobile-options
.sn-mobile-option-card--security
.sn-service-option-card__icon {
	background: #e8f2ff !important;
}


/* =========================================================
   SUPPORT BLOCK
========================================================= */

.sn-service-options__support {
	display: flex !important;
	flex-direction: column !important;

	align-items: center !important;

	width: 100% !important;

	margin: 40px 0 0 !important;
	padding: 30px 32px !important;

	background: #f7faff;

	border: 1px solid #dbe7f8;
	border-radius: 8px;

	text-align: center;

	box-sizing: border-box !important;
}


/* Support title */

.sn-service-options__support h3 {
	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}


/* Support text */

.sn-service-options__support p {
	max-width: 680px;

	margin: 8px auto 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	line-height: 1.75 !important;
}


/* =========================================================
   SUPPORT BUTTON
========================================================= */

.sn-service-options__button,
.wp-block-button.sn-service-options__button {
	margin: 20px 0 0 !important;
	padding: 0 !important;
}

.sn-service-options__button .wp-block-button__link {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-width: 220px !important;
	min-height: 48px !important;

	margin: 0 !important;
	padding: 12px 28px !important;

	background: #1769ff !important;

	border: 1px solid #1769ff !important;
	border-radius: 5px !important;

	color: #ffffff !important;

	font-size: 13px !important;
	font-weight: 700 !important;

	text-decoration: none !important;

	transition:
		background-color .2s ease,
		transform .2s ease;
}

.sn-service-options__button
.wp-block-button__link::after {
	content: "→";

	margin-left: 9px;
}

.sn-service-options__button
.wp-block-button__link:hover {
	background: #0f54d8 !important;

	transform: translateY(-1px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-options {
		padding:
			80px
			24px
			88px !important;
	}

	.sn-service-options__columns {
		margin-top: 42px !important;
	}

	.sn-service-option-card {
		padding:
			26px
			20px
			24px !important;
	}

	.sn-service-option-card__title {
		font-size: 17px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-options {
		padding:
			64px
			20px
			72px !important;
	}

	.sn-service-options__columns {
		margin-top: 36px !important;
	}

	.sn-service-option-card {
		padding:
			26px
			20px
			24px !important;
	}

	.sn-service-option-card__icon {
		width: 50px !important;
		height: 50px !important;

		flex-basis: 50px !important;

		margin-bottom: 18px !important;
	}

	.sn-service-option-card__icon svg {
		width: 23px !important;
		height: 23px !important;
	}

	.sn-service-option-card__title {
		font-size: 17px !important;
	}

	.sn-service-option-card__text {
		font-size: 13px !important;
	}

	.sn-service-options__support {
		margin-top: 28px !important;

		padding:
			26px
			20px !important;
	}

	.sn-service-options__support h3 {
		font-size: 17px !important;
	}

	.sn-service-options__button,
	.sn-service-options__button .wp-block-button__link {
		width: 100% !important;
	}

}

/* =========================================================
   SIGNAL MOBILE
   USE CASE
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.sn-service-usecase {
	padding-top: 88px;
	padding-bottom: 88px;
	background: #ffffff;
}

.sn-service-usecase__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}


/* ---------------------------------------------------------
   CARDS AREA
   ※ Kadence Row Layout 3カラムを使用
--------------------------------------------------------- */

.sn-service-usecase__columns {
	margin-top: 44px;
}


/* ---------------------------------------------------------
   CARD
--------------------------------------------------------- */

.sn-service-usecase-card {
	position: relative;
	height: 100%;
	overflow: hidden;

	background: #ffffff;
	border: 1px solid #dbe5f1;
	border-radius: 12px;

	box-shadow:
		0 4px 14px rgba(15, 39, 71, 0.04);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}


/* hover */

@media (hover: hover) {

	.sn-service-usecase-card:hover {
		transform: translateY(-4px);
		border-color: #b7cff3;
		box-shadow:
			0 12px 30px rgba(15, 39, 71, 0.10);
	}

}


/* ---------------------------------------------------------
   IMAGE
--------------------------------------------------------- */

.sn-service-usecase-card__image {
	width: 100%;
	margin: 0 !important;
	overflow: hidden;

	aspect-ratio: 16 / 8.5;
	background: #edf4fb;
}


/* Gutenberg / Kadence Image 対策 */

.sn-service-usecase-card__image img {
	display: block;
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	margin: 0 !important;

	transition: transform 0.4s ease;
}


/* figure が生成される場合 */

.sn-service-usecase-card__image figure {
	width: 100%;
	height: 100%;
	margin: 0 !important;
}


/* hover image */

@media (hover: hover) {

	.sn-service-usecase-card:hover
	.sn-service-usecase-card__image img {
		transform: scale(1.035);
	}

}


/* ---------------------------------------------------------
   BODY
--------------------------------------------------------- */

.sn-service-usecase-card__body {
	position: relative;

	padding: 24px 26px 26px;

	background: #ffffff;
}


/* Gutenberg margin reset */

.sn-service-usecase-card__body > *:first-child {
	margin-top: 0 !important;
}

.sn-service-usecase-card__body > *:last-child {
	margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   TITLE
--------------------------------------------------------- */

.sn-service-usecase-card__title {
	margin: 0 0 10px !important;

	color: #071d3b;

	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.01em;
}


/* ---------------------------------------------------------
   TEXT
--------------------------------------------------------- */

.sn-service-usecase-card__text {
	margin: 0 0 18px !important;

	color: #52657d;

	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
}


/* ---------------------------------------------------------
   TAG
--------------------------------------------------------- */

.sn-service-usecase-card__tag {
	display: inline-flex;
	align-items: center;

	width: auto !important;

	margin: 0 !important;
	padding: 5px 11px !important;

	background: #edf5ff;
	border-radius: 4px;

	color: #1265df;

	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
}


/* ---------------------------------------------------------
   MOBILE CLOSED NETWORK
   閉域網カードだけ少し強調
--------------------------------------------------------- */

.sn-mobile-usecase-card--closed {
	border-color: #9fc4ff;
}

.sn-mobile-usecase-card--closed
.sn-service-usecase-card__tag {
	background: #e8f2ff;
	color: #075fd5;
}


/* ---------------------------------------------------------
   IoT
--------------------------------------------------------- */

.sn-mobile-usecase-card--iot
.sn-service-usecase-card__tag {
	background: #eef5ff;
	color: #1265df;
}


/* ---------------------------------------------------------
   CAMERA
--------------------------------------------------------- */

.sn-mobile-usecase-card--camera
.sn-service-usecase-card__tag {
	background: #eef5ff;
	color: #1265df;
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.sn-service-usecase__cta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 40px;

	margin-top: 42px !important;
	padding: 30px 36px !important;

	background: #f2f7fd;
	border: 1px solid #d9e7f6;
	border-radius: 12px;
}


/* CTA LEFT */

.sn-service-usecase__cta-content {
	flex: 1 1 auto;
	min-width: 0;
}


/* CTA heading */

.sn-service-usecase__cta-content h3 {
	margin: 0 0 6px !important;

	color: #071d3b;

	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}


/* CTA text */

.sn-service-usecase__cta-content p {
	margin: 0 !important;

	color: #52657d;

	font-size: 14px;
	line-height: 1.75;
}


/* CTA RIGHT */

.sn-service-usecase__cta-actions {
	flex: 0 0 auto;

	margin: 0 !important;
}


/* Gutenberg Buttons */

.sn-service-usecase__cta-actions.wp-block-buttons {
	margin: 0 !important;
}


/* BUTTON */

.sn-service-usecase__cta-button .wp-block-button__link,
.wp-block-button.sn-service-usecase__cta-button
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 210px;
	min-height: 52px;

	padding: 12px 26px;

	background: #1769ff;
	border: 1px solid #1769ff;
	border-radius: 6px;

	color: #ffffff;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;

	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}


@media (hover: hover) {

	.sn-service-usecase__cta-button .wp-block-button__link:hover,
	.wp-block-button.sn-service-usecase__cta-button
	.wp-block-button__link:hover {
		background: #0d56da;
		border-color: #0d56da;
		transform: translateY(-1px);
	}

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-usecase {
		padding-top: 72px;
		padding-bottom: 72px;
	}

	.sn-service-usecase__columns {
		margin-top: 36px;
	}

	.sn-service-usecase-card__body {
		padding: 22px;
	}

	.sn-service-usecase-card__title {
		font-size: 18px;
	}

	.sn-service-usecase__cta {
		gap: 24px;

		margin-top: 36px !important;
		padding: 28px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-usecase {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.sn-service-usecase__columns {
		margin-top: 30px;
	}

	.sn-service-usecase-card {
		border-radius: 10px;
	}

	.sn-service-usecase-card__image {
		aspect-ratio: 16 / 9;
	}

	.sn-service-usecase-card__body {
		padding: 20px;
	}

	.sn-service-usecase-card__title {
		margin-bottom: 8px !important;

		font-size: 18px;
		line-height: 1.45;
	}

	.sn-service-usecase-card__text {
		margin-bottom: 15px !important;

		font-size: 14px;
		line-height: 1.75;
	}

	.sn-service-usecase-card__tag {
		font-size: 11px;
	}

	.sn-service-usecase__cta {
		display: block !important;

		margin-top: 30px !important;
		padding: 24px 20px !important;
	}

	.sn-service-usecase__cta-content h3 {
		font-size: 18px;
	}

	.sn-service-usecase__cta-actions {
		margin-top: 20px !important;
	}

	.sn-service-usecase__cta-actions.wp-block-buttons {
		width: 100%;
	}

	.sn-service-usecase__cta-button {
		width: 100%;
	}

	.sn-service-usecase__cta-button .wp-block-button__link,
	.wp-block-button.sn-service-usecase__cta-button
	.wp-block-button__link {
		width: 100%;
		min-width: 0;
	}

}

/* =========================================================
   SERVICE FLOW
   ご利用開始までの流れ
========================================================= */

.sn-service-flow {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #f8fbff;

	box-sizing: border-box !important;
}

.sn-service-flow__inner {
	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* =========================================================
   FLOW ROW
   3カラム × 2段
========================================================= */

.sn-service-flow__row {
	width: 100% !important;

	margin: 44px 0 0 !important;
	padding: 0 !important;
}

.sn-service-flow__row + .sn-service-flow__row {
	margin-top: 24px !important;
}


/* Kadence Row Layout */

.sn-service-flow__row .kt-row-column-wrap {
	align-items: stretch !important;

	column-gap: 24px !important;
	row-gap: 24px !important;
}

.sn-service-flow__row .wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}

.sn-service-flow__row .kt-inside-inner-col {
	height: 100% !important;
}


/* =========================================================
   FLOW CARD
========================================================= */

.sn-service-flow-card {
	position: relative;

	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 34px 26px 30px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 10px;

	box-shadow:
		0 7px 22px rgba(15, 35, 65, .045);

	text-align: center;

	box-sizing: border-box !important;
}


/* =========================================================
   NUMBER
========================================================= */

.sn-service-flow-card__number {
	position: absolute;

	top: -18px;
	left: 50%;

	transform: translateX(-50%);

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 38px !important;
	height: 38px !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #1769ff;

	border-radius: 50%;

	color: #ffffff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	box-shadow:
		0 5px 12px rgba(23, 105, 255, .22);
}


/* =========================================================
   ICON
========================================================= */

.sn-service-flow-card__icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 58px !important;
	height: 58px !important;

	margin: 12px 0 16px !important;
	padding: 0 !important;

	background: #eef5ff;

	border-radius: 50%;

	box-sizing: border-box !important;
}

.sn-service-flow-card__icon svg {
	width: 27px !important;
	height: 27px !important;

	color: #1769ff !important;
}


/* =========================================================
   STEP LABEL
========================================================= */

.sn-service-flow-card__step {
	margin: 0 0 6px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .10em;
	text-transform: uppercase;
}


/* =========================================================
   TITLE
========================================================= */

.sn-service-flow-card__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #101d36 !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;

	text-align: center !important;
}


/* =========================================================
   TEXT
========================================================= */

.sn-service-flow-card__text {
	margin: 12px 0 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: center !important;
}


/* =========================================================
   COMPLETE CARD
========================================================= */

.sn-service-flow-card--complete {
	border-color: #a8c8ff !important;

	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f5f9ff 100%
		) !important;
}

.sn-service-flow-card--complete
.sn-service-flow-card__icon {
	background: #e8f2ff !important;
}


/* =========================================================
   ARROWS
   各Row内の1枚目・2枚目の右に表示
========================================================= */

.sn-service-flow__row
.wp-block-kadence-column:not(:last-child) {
	position: relative;
}

.sn-service-flow__row
.wp-block-kadence-column:not(:last-child)::after {
	content: "→";

	position: absolute;

	top: 50%;
	right: -18px;

	transform: translateY(-50%);

	z-index: 3;

	color: #1769ff;

	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}


/* =========================================================
   NOTE
========================================================= */

.sn-service-flow__note {
	max-width: 900px;

	margin: 28px auto 0 !important;
	padding: 0 !important;

	color: #64748b !important;

	font-size: 11px !important;
	line-height: 1.7 !important;

	text-align: center !important;
}


/* =========================================================
   MOBILE SPECIFIC
========================================================= */

.sn-mobile-flow {
	background:
		linear-gradient(
			180deg,
			#f8fbff 0%,
			#ffffff 100%
		) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-service-flow {
		padding:
			80px
			24px
			88px !important;
	}

	.sn-service-flow__row {
		margin-top: 38px !important;
	}

	.sn-service-flow__row .kt-row-column-wrap {
		column-gap: 20px !important;
		row-gap: 20px !important;
	}

	.sn-service-flow-card {
		padding:
			32px
			22px
			26px !important;
	}

	.sn-service-flow-card__title {
		font-size: 17px !important;
	}

	.sn-service-flow-card__text {
		font-size: 12px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-service-flow {
		padding:
			64px
			20px
			72px !important;
	}

	.sn-service-flow__row {
		margin-top: 34px !important;
	}

	.sn-service-flow__row + .sn-service-flow__row {
		margin-top: 18px !important;
	}

	.sn-service-flow__row .kt-row-column-wrap {
		row-gap: 26px !important;
	}

	.sn-service-flow-card {
		padding:
			32px
			20px
			24px !important;

		border-radius: 8px;
	}

	.sn-service-flow-card__number {
		top: -16px;

		width: 34px !important;
		height: 34px !important;

		font-size: 11px !important;
	}

	.sn-service-flow-card__icon {
		width: 52px !important;
		height: 52px !important;

		margin-top: 8px !important;
	}

	.sn-service-flow-card__icon svg {
		width: 24px !important;
		height: 24px !important;
	}

	.sn-service-flow-card__title {
		font-size: 17px !important;
	}

	.sn-service-flow-card__text {
		font-size: 13px !important;
	}

	/* スマホでは矢印不要 */
	.sn-service-flow__row
	.wp-block-kadence-column:not(:last-child)::after {
		display: none !important;
	}

	.sn-service-flow__note {
		margin-top: 24px !important;

		font-size: 10px !important;
	}

}

/* =========================================================
   BUSINESS HERO
   法人向けサービス固有
========================================================= */


/* ---------------------------------------------------------
   BACKGROUND
--------------------------------------------------------- */

.sn-biz-hero {
	background:
		linear-gradient(
			90deg,
			#ffffff 0%,
			#ffffff 44%,
			#eef6ff 100%
		) !important;
}


/* ---------------------------------------------------------
   HERO COLUMNS
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__columns
.kt-row-column-wrap {
	grid-template-columns:
		minmax(0, 48fr)
		minmax(0, 52fr) !important;

	gap: 0 !important;

	align-items: stretch !important;
}


/* ---------------------------------------------------------
   LEFT CONTENT
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__content {
	padding:
		72px
		54px
		72px
		0 !important;
}


/* ---------------------------------------------------------
   EYEBROW
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__eyebrow {
	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	letter-spacing: .08em;
}


/* ---------------------------------------------------------
   TITLE
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__title {
	max-width: 620px;

	color: #0b1f3a !important;

	font-size: 52px !important;
	font-weight: 700 !important;
	line-height: 1.28 !important;

	letter-spacing: -.03em;
}


/* 強調 */
.sn-biz-hero
.sn-service-hero__title span,
.sn-biz-hero
.sn-service-hero__title-accent {
	color: #1769ff !important;
}


/* ---------------------------------------------------------
   LEAD
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__lead {
	max-width: 610px !important;

	color: #40516a !important;
}


/* ---------------------------------------------------------
   BUTTONS
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__actions {
	margin-top: 30px !important;
}


/* Primary */

.sn-biz-hero
.sn-service-hero__button--primary
.wp-block-button__link,
.sn-biz-hero
.sn-service-hero__primary
.wp-block-button__link {
	background: #ffd83d !important;
	border-color: #ffd83d !important;

	color: #10203c !important;
}


/* Secondary */

.sn-biz-hero
.sn-service-hero__button--secondary
.wp-block-button__link,
.sn-biz-hero
.sn-service-hero__secondary
.wp-block-button__link {
	background: #ffffff !important;

	border-color: #1769ff !important;

	color: #1769ff !important;
}


/* ---------------------------------------------------------
   HERO FEATURES
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__features {
	margin-top: 34px !important;
}


/* 3-column Row Layout */

.sn-biz-hero
.sn-service-hero__features
.kt-row-column-wrap {
	grid-template-columns:
		repeat(3, minmax(0, 1fr)) !important;

	gap: 0 !important;

	min-height: 0 !important;
}


/* feature column */

.sn-biz-hero
.sn-service-hero__features
.wp-block-kadence-column {
	min-width: 0 !important;
}


/* ---------------------------------------------------------
   FEATURE ITEM
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero-feature {
	display: flex !important;

	align-items: center !important;

	gap: 10px !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 18px !important;

	box-sizing: border-box !important;
}


/* first */

.sn-biz-hero
.sn-service-hero__features
.wp-block-kadence-column:first-child
.sn-service-hero-feature {
	padding-left: 0 !important;
}


/* divider */

.sn-biz-hero
.sn-service-hero__features
.wp-block-kadence-column:not(:first-child)
.sn-service-hero-feature {
	border-left: 1px solid #dbe5f1;
}


/* ---------------------------------------------------------
   FEATURE ICON
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero-feature__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 42px !important;

	width: 42px !important;
	height: 42px !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #eef5ff;

	border-radius: 50%;
}


.sn-biz-hero
.sn-service-hero-feature__icon svg {
	width: 22px !important;
	height: 22px !important;

	color: #1769ff !important;
}


/* ---------------------------------------------------------
   FEATURE CONTENT
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero-feature__content {
	min-width: 0 !important;
}


.sn-biz-hero
.sn-service-hero-feature__title {
	margin: 0 !important;

	color: #0b1f3a !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}


.sn-biz-hero
.sn-service-hero-feature__text {
	margin: 3px 0 0 !important;

	color: #64748b !important;

	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}


/* ---------------------------------------------------------
   VISUAL
--------------------------------------------------------- */

.sn-biz-hero
.sn-service-hero__visual {
	position: relative;

	width: 100% !important;
	height: 100% !important;

	overflow: hidden;
}


/* image */

.sn-biz-hero
.sn-service-hero__visual figure,
.sn-biz-hero
.sn-service-hero__image {
	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
}


.sn-biz-hero
.sn-service-hero__visual img,
.sn-biz-hero
.sn-service-hero__image img {
	display: block;

	width: 100% !important;
	height: 100% !important;

	min-height: 620px !important;

	object-fit: cover !important;
	object-position: center center !important;
}


/* 左側を背景となじませる */

.sn-biz-hero
.sn-service-hero__visual::before {
	content: "";

	position: absolute;

	top: 0;
	left: 0;

	z-index: 2;

	width: 16%;
	height: 100%;

	background:
		linear-gradient(
			90deg,
			#ffffff 0%,
			rgba(255,255,255,.62) 40%,
			rgba(255,255,255,0) 100%
		);

	pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-biz-hero
	.sn-service-hero__columns
	.kt-row-column-wrap {
		grid-template-columns:
			minmax(0, 52fr)
			minmax(0, 48fr) !important;
	}

	.sn-biz-hero
	.sn-service-hero__content {
		padding:
			56px
			36px
			56px
			0 !important;
	}

	.sn-biz-hero
	.sn-service-hero__title {
		font-size: 42px !important;
	}

	.sn-biz-hero
	.sn-service-hero-feature {
		padding:
			0
			12px !important;
	}

	.sn-biz-hero
	.sn-service-hero-feature__icon {
		flex-basis: 38px !important;

		width: 38px !important;
		height: 38px !important;
	}

	.sn-biz-hero
	.sn-service-hero-feature__icon svg {
		width: 20px !important;
		height: 20px !important;
	}

	.sn-biz-hero
	.sn-service-hero-feature__title {
		font-size: 12px !important;
	}

	.sn-biz-hero
	.sn-service-hero-feature__text {
		font-size: 10px !important;
	}

	.sn-biz-hero
	.sn-service-hero__visual img,
	.sn-biz-hero
	.sn-service-hero__image img {
		min-height: 560px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-hero {
		background: #ffffff !important;
	}

	.sn-biz-hero
	.sn-service-hero__columns
	.kt-row-column-wrap {
		display: block !important;
	}


	/* CONTENT */

	.sn-biz-hero
	.sn-service-hero__content {
		padding:
			52px
			20px
			40px !important;
	}


	/* TITLE */

	.sn-biz-hero
	.sn-service-hero__title {
		max-width: none;

		font-size: 34px !important;
		line-height: 1.35 !important;
	}


	/* FEATURES */

	.sn-biz-hero
	.sn-service-hero__features
	.kt-row-column-wrap {
		grid-template-columns: 1fr !important;

		gap: 12px !important;
	}


	.sn-biz-hero
	.sn-service-hero-feature {
		padding: 0 !important;

		border-left: 0 !important;
	}


	.sn-biz-hero
	.sn-service-hero__features
	.wp-block-kadence-column:not(:first-child)
	.sn-service-hero-feature {
		border-left: 0 !important;
	}


	/* VISUAL */

	.sn-biz-hero
	.sn-service-hero__visual {
		height: auto !important;
	}


	.sn-biz-hero
	.sn-service-hero__visual img,
	.sn-biz-hero
	.sn-service-hero__image img {
		width: 100% !important;
		height: auto !important;

		min-height: 0 !important;

		aspect-ratio: 16 / 10;

		object-fit: cover !important;
		object-position: 63% center !important;
	}


	.sn-biz-hero
	.sn-service-hero__visual::before {
		display: none;
	}

}

/* =========================================================
   BUSINESS
   SOLUTIONS
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.sn-biz-solutions {
	width: 100% !important;

	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #f6faff;

	box-sizing: border-box !important;
}


/* =========================================================
   COLUMNS
========================================================= */

.sn-biz-solutions__columns {
	width: 100% !important;

	margin: 48px 0 0 !important;
	padding: 0 !important;
}


/* Kadence Row Layout */

.sn-biz-solutions__columns
.kt-row-column-wrap {
	align-items: stretch !important;
}


/* 各カラムの高さを揃える */

.sn-biz-solutions__columns
.wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}


.sn-biz-solutions__columns
.kt-inside-inner-col {
	height: 100% !important;
}


/* =========================================================
   SOLUTION CARD
========================================================= */

.sn-biz-solution-card {
	position: relative;

	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 30px 24px 26px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 10px;

	box-shadow:
		0 6px 20px rgba(15, 35, 65, .045);

	box-sizing: border-box !important;

	transition:
		transform .22s ease,
		border-color .22s ease,
		box-shadow .22s ease;
}


@media (hover: hover) {

	.sn-biz-solution-card:hover {
		transform: translateY(-4px);

		border-color: #afc9ee;

		box-shadow:
			0 12px 30px rgba(15, 35, 65, .09);
	}

}


/* =========================================================
   ICON
========================================================= */

.sn-biz-solution-card__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 54px !important;

	width: 54px !important;
	height: 54px !important;

	margin: 0 0 22px !important;
	padding: 0 !important;

	background: #edf5ff;

	border-radius: 50%;

	box-sizing: border-box !important;
}


/* Kadence Icon */

.sn-biz-solution-card__icon svg {
	display: block !important;

	width: 26px !important;
	height: 26px !important;

	margin: 0 !important;

	color: #1769ff !important;
}


/* =========================================================
   NUMBER
========================================================= */

.sn-biz-solution-card__number {
	margin: 0 0 7px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .10em;
}


/* =========================================================
   TITLE
========================================================= */

.sn-biz-solution-card__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #0b1f3a !important;

	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	letter-spacing: -.01em;
}


/* =========================================================
   TEXT
========================================================= */

.sn-biz-solution-card__text {
	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #52657d !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   RELATED SERVICES
========================================================= */

.sn-biz-solution-card__services {
	margin: auto 0 0 !important;
	padding: 22px 0 0 !important;
}


/* カード本文との境界線 */

.sn-biz-solution-card__services::before {
	content: "";

	display: block;

	width: 100%;
	height: 1px;

	margin: 0 0 15px;

	background: #e6edf5;
}


/* 関連サービス */

.sn-biz-solution-card__label {
	margin: 0 0 7px !important;
	padding: 0 !important;

	color: #8a99ab !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .06em;
}


/* サービス名 */

.sn-biz-solution-card__service {
	margin: 0 !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}


/* =========================================================
   CARD ACCENTS
   4カードを少しだけ差別化
========================================================= */


/* 高速・安定 */

.sn-biz-solutions__columns
.wp-block-kadence-column:nth-child(1)
.sn-biz-solution-card {
	border-top: 3px solid #1769ff;
}


/* 固定IP・VPN */

.sn-biz-solutions__columns
.wp-block-kadence-column:nth-child(2)
.sn-biz-solution-card {
	border-top: 3px solid #2979e8;
}


/* 多拠点 */

.sn-biz-solutions__columns
.wp-block-kadence-column:nth-child(3)
.sn-biz-solution-card {
	border-top: 3px solid #4089df;
}


/* モバイル・IoT */

.sn-biz-solutions__columns
.wp-block-kadence-column:nth-child(4)
.sn-biz-solution-card {
	border-top: 3px solid #5a94d5;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-biz-solutions {
		padding:
			80px
			24px
			88px !important;
	}


	.sn-biz-solutions__columns {
		margin-top: 42px !important;
	}


	.sn-biz-solution-card {
		padding:
			28px
			22px
			26px !important;
	}


	.sn-biz-solution-card__title {
		font-size: 19px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-solutions {
		padding:
			64px
			20px
			72px !important;
	}


	.sn-biz-solutions__columns {
		margin-top: 36px !important;
	}


	.sn-biz-solution-card {
		padding:
			26px
			20px
			24px !important;

		border-radius: 8px;
	}


	.sn-biz-solution-card__icon {
		width: 50px !important;
		height: 50px !important;

		flex-basis: 50px !important;

		margin-bottom: 18px !important;
	}


	.sn-biz-solution-card__icon svg {
		width: 24px !important;
		height: 24px !important;
	}


	.sn-biz-solution-card__title {
		font-size: 18px !important;
	}


	.sn-biz-solution-card__text {
		font-size: 13px !important;
	}


	.sn-biz-solution-card__services {
		padding-top: 18px !important;
	}

}

/* =========================================================
   BUSINESS
   SERVICES
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.sn-biz-services {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #ffffff;

	box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   GRID
--------------------------------------------------------- */

.sn-biz-services__grid {
	width: 100% !important;
	margin: 48px 0 0 !important;
	padding: 0 !important;
}


/* Kadence Row Layout */
.sn-biz-services__grid > .kt-row-column-wrap {
	align-items: stretch !important;
}


/* 各カラム */
.sn-biz-services__grid
.wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}


/* Kadenceカラム内部 */
.sn-biz-services__grid
.wp-block-kadence-column > .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	height: 100% !important;
}


/* =========================================================
   SERVICE CARD
========================================================= */

.sn-biz-service-card {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid #d9e4f0;
	border-radius: 10px;

	box-shadow:
		0 5px 18px rgba(15, 35, 65, .05);

	box-sizing: border-box !important;

	transition:
		transform .22s ease,
		border-color .22s ease,
		box-shadow .22s ease;
}


@media (hover: hover) {

	.sn-biz-service-card:hover {
		transform: translateY(-4px);

		border-color: #b6cbea;

		box-shadow:
			0 12px 28px rgba(15, 35, 65, .10);
	}

}


/* =========================================================
   IMAGE
========================================================= */

/*
 * Imageブロック自体に
 * sn-biz-service-card__image
 * を設定
 */

.sn-biz-service-card__image {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	aspect-ratio: 16 / 7;

	background: #edf5ff;
}


/* figure対策 */

figure.sn-biz-service-card__image {
	display: block !important;
}


/* 画像 */

.sn-biz-service-card__image img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover !important;
	object-position: center center !important;

	transition: transform .35s ease;
}


/* hover */

@media (hover: hover) {

	.sn-biz-service-card:hover
	.sn-biz-service-card__image img {
		transform: scale(1.025);
	}

}


/* =========================================================
   BODY
========================================================= */

.sn-biz-service-card__body {
	display: flex !important;
	flex-direction: column !important;

	flex: 1 1 auto !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 24px 22px 22px !important;

	box-sizing: border-box !important;
}


/* =========================================================
   SERVICE TITLE
========================================================= */

.sn-biz-service-card__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #0b1f3a !important;

	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: -.02em;
}


/* =========================================================
   CATCH COPY
========================================================= */

.sn-biz-service-card__catch {
	margin: 5px 0 0 !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.sn-biz-service-card__text {
	margin: 15px 0 0 !important;
	padding: 0 !important;

	color: #52657d !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   TAGS
========================================================= */

.sn-biz-service-card__tags {
	display: flex !important;
	flex-wrap: wrap !important;

	gap: 6px !important;

	width: 100% !important;

	margin: 18px 0 0 !important;
	padding: 0 !important;
}


/* 個別タグ */

.sn-biz-service-card__tag {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;

	margin: 0 !important;
	padding: 4px 8px !important;

	background: #f2f7ff;

	border: 1px solid #c8dcfa;
	border-radius: 4px;

	color: #1769ff !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;

	white-space: nowrap;

	box-sizing: border-box !important;
}


/* =========================================================
   ACTION
========================================================= */

.sn-biz-service-card__actions {
	width: 100% !important;

	margin: auto 0 0 !important;
	padding: 22px 0 0 !important;
}


/* Kadence Buttons */

.sn-biz-service-card__actions
.wp-block-kadence-advancedbtn {
	width: 100% !important;
}


/* Gutenberg Buttons対策 */

.sn-biz-service-card__actions
.wp-block-buttons {
	width: 100% !important;
}


/* =========================================================
   BUTTON
========================================================= */

.sn-biz-service-card__button {
	width: 100% !important;
}


/* Kadence Button */

.sn-biz-service-card__button.kt-button,
.sn-biz-service-card__button .kt-button,
.sn-biz-service-card__button.wp-block-button__link,
.sn-biz-service-card__button .wp-block-button__link {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 44px !important;

	margin: 0 !important;
	padding: 10px 14px !important;

	background: #ffffff !important;

	border: 1px solid #1769ff !important;
	border-radius: 5px !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	text-decoration: none !important;

	box-shadow: none !important;

	box-sizing: border-box !important;

	transition:
		background .2s ease,
		color .2s ease;
}


/* hover */

@media (hover: hover) {

	.sn-biz-service-card__button.kt-button:hover,
	.sn-biz-service-card__button .kt-button:hover,
	.sn-biz-service-card__button.wp-block-button__link:hover,
	.sn-biz-service-card__button .wp-block-button__link:hover {
		background: #1769ff !important;
		color: #ffffff !important;
	}

}


/* =========================================================
   CARD ACCENT
========================================================= */

/*
 * 上端にわずかなブランドカラーを入れる
 * 画像があるので強くしすぎない
 */

.sn-biz-service-card {
	border-top: 3px solid #1769ff;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-biz-services {
		padding:
			80px
			24px
			88px !important;
	}


	.sn-biz-services__grid {
		margin-top: 42px !important;
	}


	.sn-biz-service-card__body {
		padding:
			22px
			20px
			20px !important;
	}


	.sn-biz-service-card__title {
		font-size: 20px !important;
	}


	.sn-biz-service-card__image {
		aspect-ratio: 16 / 7;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-services {
		padding:
			64px
			20px
			72px !important;
	}


	.sn-biz-services__grid {
		margin-top: 36px !important;
	}


	.sn-biz-service-card {
		border-radius: 8px;
	}


	/*
	 * スマホは画像を少し高くする
	 */
	.sn-biz-service-card__image {
		aspect-ratio: 16 / 8;
	}


	.sn-biz-service-card__body {
		padding:
			22px
			20px
			20px !important;
	}


	.sn-biz-service-card__title {
		font-size: 20px !important;
	}


	.sn-biz-service-card__catch {
		font-size: 13px !important;
	}


	.sn-biz-service-card__text {
		margin-top: 12px !important;

		font-size: 13px !important;
	}


	.sn-biz-service-card__tags {
		margin-top: 16px !important;
	}


	.sn-biz-service-card__actions {
		padding-top: 20px !important;
	}


	.sn-biz-service-card__button.kt-button,
	.sn-biz-service-card__button .kt-button,
	.sn-biz-service-card__button.wp-block-button__link,
	.sn-biz-service-card__button .wp-block-button__link {
		min-height: 46px !important;
	}

}

/* =========================================================
   BUSINESS
   WHY SIGNAL
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.sn-biz-why {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #f6faff;

	box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   GRID
--------------------------------------------------------- */

.sn-biz-why__grid {
	width: 100% !important;
	margin: 48px 0 0 !important;
	padding: 0 !important;
}


/* Kadence Row Layout */
.sn-biz-why__grid
.kt-row-column-wrap {
	align-items: stretch !important;
}


/* 各カラム */
.sn-biz-why__grid
.wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}


/* カラム内部 */
.sn-biz-why__grid
.wp-block-kadence-column > .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	height: 100% !important;
}


/* =========================================================
   CARD
========================================================= */

.sn-biz-why-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 30px 24px 28px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 10px;

	box-shadow:
		0 6px 20px rgba(15, 35, 65, .045);

	text-align: center;

	box-sizing: border-box !important;

	transition:
		transform .22s ease,
		border-color .22s ease,
		box-shadow .22s ease;
}


@media (hover: hover) {

	.sn-biz-why-card:hover {
		transform: translateY(-4px);

		border-color: #b5ccec;

		box-shadow:
			0 12px 28px rgba(15, 35, 65, .09);
	}

}


/* =========================================================
   ICON
========================================================= */

.sn-biz-why-card__icon {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 58px !important;

	width: 58px !important;
	height: 58px !important;

	margin: 0 0 22px !important;
	padding: 0 !important;

	background: #eef5ff;

	border-radius: 50%;

	box-sizing: border-box !important;
}


/* Kadence Icon */
.sn-biz-why-card__icon svg {
	display: block !important;

	width: 28px !important;
	height: 28px !important;

	margin: 0 !important;

	color: #1769ff !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-biz-why-card__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #0b1f3a !important;

	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	letter-spacing: -.01em;

	text-align: center !important;
}


/* =========================================================
   TEXT
========================================================= */

.sn-biz-why-card__text {
	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #52657d !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;

	text-align: center !important;
}


/* =========================================================
   ACCENT
========================================================= */

/*
 * 4カードともブランドブルーで統一。
 * サービスカードより控えめに。
 */

.sn-biz-why-card {
	border-top: 3px solid #d9e8ff;
}


/* hover時にだけ少し強調 */
@media (hover: hover) {

	.sn-biz-why-card:hover {
		border-top-color: #1769ff;
	}

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-biz-why {
		padding:
			80px
			24px
			88px !important;
	}


	.sn-biz-why__grid {
		margin-top: 42px !important;
	}


	.sn-biz-why-card {
		padding:
			28px
			22px
			26px !important;
	}


	.sn-biz-why-card__icon {
		width: 54px !important;
		height: 54px !important;

		flex-basis: 54px !important;
	}


	.sn-biz-why-card__icon svg {
		width: 26px !important;
		height: 26px !important;
	}


	.sn-biz-why-card__title {
		font-size: 18px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-why {
		padding:
			64px
			20px
			72px !important;
	}


	.sn-biz-why__grid {
		margin-top: 36px !important;
	}


	.sn-biz-why-card {
		padding:
			26px
			20px
			24px !important;

		border-radius: 8px;
	}


	.sn-biz-why-card__icon {
		width: 50px !important;
		height: 50px !important;

		flex-basis: 50px !important;

		margin-bottom: 18px !important;
	}


	.sn-biz-why-card__icon svg {
		width: 24px !important;
		height: 24px !important;
	}


	.sn-biz-why-card__title {
		font-size: 18px !important;
	}


	.sn-biz-why-card__text {
		font-size: 13px !important;
		line-height: 1.75 !important;
	}

}

/* =========================================================
   BUSINESS
   USE CASE
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.sn-biz-usecase {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #ffffff;

	box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   GRID
--------------------------------------------------------- */

.sn-biz-usecase__grid {
	width: 100% !important;

	margin: 48px 0 0 !important;
	padding: 0 !important;
}


/* Kadence Row Layout */

.sn-biz-usecase__grid
.kt-row-column-wrap {
	align-items: stretch !important;
}


/* 各カラム */

.sn-biz-usecase__grid
.wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}


/* カラム内 */

.sn-biz-usecase__grid
.wp-block-kadence-column > .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	height: 100% !important;
}


/* =========================================================
   USE CASE CARD
========================================================= */

.sn-biz-usecase-card {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 10px;

	box-shadow:
		0 6px 20px rgba(15, 35, 65, .045);

	box-sizing: border-box !important;

	transition:
		transform .22s ease,
		border-color .22s ease,
		box-shadow .22s ease;
}


@media (hover: hover) {

	.sn-biz-usecase-card:hover {
		transform: translateY(-4px);

		border-color: #b5cbea;

		box-shadow:
			0 12px 28px rgba(15, 35, 65, .09);
	}

}


/* =========================================================
   IMAGE
========================================================= */

/*
 * Imageブロック自体に
 * sn-biz-usecase-card__image
 * を設定
 */

.sn-biz-usecase-card__image {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	aspect-ratio: 16 / 9;

	background: #edf5ff;
}


/* figure対策 */

figure.sn-biz-usecase-card__image {
	display: block !important;
}


/* 画像 */

.sn-biz-usecase-card__image img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover !important;
	object-position: center center !important;

	transition: transform .35s ease;
}


/* hover */

@media (hover: hover) {

	.sn-biz-usecase-card:hover
	.sn-biz-usecase-card__image img {
		transform: scale(1.025);
	}

}


/* =========================================================
   BODY
========================================================= */

.sn-biz-usecase-card__body {
	display: flex !important;
	flex-direction: column !important;

	flex: 1 1 auto !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 22px 22px 24px !important;

	box-sizing: border-box !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-biz-usecase-card__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #0b1f3a !important;

	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	letter-spacing: -.01em;
}


/* =========================================================
   TEXT
========================================================= */

.sn-biz-usecase-card__text {
	margin: 11px 0 0 !important;
	padding: 0 !important;

	color: #52657d !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   TAGS
========================================================= */

.sn-biz-usecase-card__tags {
	display: flex !important;
	flex-wrap: wrap !important;

	gap: 6px !important;

	width: 100% !important;

	margin: auto 0 0 !important;
	padding: 18px 0 0 !important;
}


/* 個別タグ */

.sn-biz-usecase-card__tag {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;

	margin: 0 !important;
	padding: 4px 8px !important;

	background: #f2f7ff;

	border: 1px solid #c8dcfa;
	border-radius: 4px;

	color: #1769ff !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;

	white-space: nowrap;

	box-sizing: border-box !important;
}


/* =========================================================
   V6BIZ CARD
   ホテル・集合住宅を少し強調
========================================================= */

.sn-biz-usecase-card--v6biz {
	border-color: #aac7f4;
}

.sn-biz-usecase-card--v6biz
.sn-biz-usecase-card__tag {
	background: #edf5ff;
	border-color: #b7cff2;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-biz-usecase {
		padding:
			80px
			24px
			88px !important;
	}


	.sn-biz-usecase__grid {
		margin-top: 42px !important;
	}


	.sn-biz-usecase-card__body {
		padding:
			20px
			20px
			22px !important;
	}


	.sn-biz-usecase-card__title {
		font-size: 18px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-usecase {
		padding:
			64px
			20px
			72px !important;
	}


	.sn-biz-usecase__grid {
		margin-top: 36px !important;
	}


	.sn-biz-usecase-card {
		border-radius: 8px;
	}


	.sn-biz-usecase-card__image {
		aspect-ratio: 16 / 9;
	}


	.sn-biz-usecase-card__body {
		padding:
			20px
			18px
			22px !important;
	}


	.sn-biz-usecase-card__title {
		font-size: 18px !important;
	}


	.sn-biz-usecase-card__text {
		margin-top: 9px !important;

		font-size: 13px !important;
		line-height: 1.75 !important;
	}


	.sn-biz-usecase-card__tags {
		padding-top: 16px !important;
	}

}

/* =========================================================
   BUSINESS
   CASE STUDY
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.sn-biz-cases {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #f6faff;

	box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   CONTENT
--------------------------------------------------------- */

.sn-biz-cases__content {
	width: 100% !important;
	margin: 48px 0 0 !important;
	padding: 0 !important;
}


/* =========================================================
   FEATURED CASES
   実名掲載 2事例
========================================================= */

.sn-biz-cases__featured {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* Kadence 2カラムの高さを揃える */

.sn-biz-cases__featured
.kt-row-column-wrap {
	align-items: stretch !important;
}


.sn-biz-cases__featured
.wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}


.sn-biz-cases__featured
.wp-block-kadence-column > .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	height: 100% !important;
}


/* =========================================================
   FEATURED CARD
========================================================= */

.sn-biz-case-featured {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 10px;

	box-shadow:
		0 7px 24px rgba(15, 35, 65, .055);

	box-sizing: border-box !important;

	transition:
		transform .22s ease,
		border-color .22s ease,
		box-shadow .22s ease;
}


@media (hover: hover) {

	.sn-biz-case-featured:hover {
		transform: translateY(-3px);

		border-color: #b7cdec;

		box-shadow:
			0 14px 32px rgba(15, 35, 65, .09);
	}

}


/* =========================================================
   FEATURED IMAGE
========================================================= */

.sn-biz-case-featured__image {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	aspect-ratio: 16 / 7;

	background: #eaf2fb;
}


figure.sn-biz-case-featured__image {
	display: block !important;
}


.sn-biz-case-featured__image img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;

	object-fit: cover !important;
	object-position: center center !important;

	transition: transform .35s ease;
}


@media (hover: hover) {

	.sn-biz-case-featured:hover
	.sn-biz-case-featured__image img {
		transform: scale(1.02);
	}

}


/* =========================================================
   FEATURED BODY
========================================================= */

.sn-biz-case-featured__body {
	display: flex !important;
	flex-direction: column !important;

	flex: 1 1 auto !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 28px 30px 30px !important;

	box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   CATEGORY
--------------------------------------------------------- */

.sn-biz-case-featured__category {
	display: inline-flex !important;

	align-self: flex-start !important;

	width: auto !important;

	margin: 0 0 12px !important;
	padding: 5px 9px !important;

	background: #edf5ff;

	border-radius: 4px;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .03em;
}


/* ---------------------------------------------------------
   TITLE
--------------------------------------------------------- */

.sn-biz-case-featured__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #0b1f3a !important;

	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;

	letter-spacing: -.01em;
}


/* ---------------------------------------------------------
   TEXT
--------------------------------------------------------- */

.sn-biz-case-featured__text {
	margin: 14px 0 0 !important;
	padding: 0 !important;

	color: #52657d !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   FEATURED TAGS
========================================================= */

.sn-biz-case-featured__tags {
	display: flex !important;
	flex-wrap: wrap !important;

	gap: 7px !important;

	width: 100% !important;

	margin: 20px 0 0 !important;
	padding: 0 !important;
}


.sn-biz-case-featured__tag {
	display: inline-flex !important;

	align-items: center !important;

	width: auto !important;

	margin: 0 !important;
	padding: 5px 9px !important;

	background: #f7faff;

	border: 1px solid #cdddf2;
	border-radius: 4px;

	color: #34506f !important;

	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}


/* =========================================================
   FEATURED LINK
========================================================= */

.sn-biz-case-featured__link {
	display: inline-flex !important;

	align-items: center !important;

	align-self: flex-start !important;

	width: auto !important;

	margin: auto 0 0 !important;
	padding: 22px 0 0 !important;

	color: #1769ff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	text-decoration: none !important;
}


.sn-biz-case-featured__link:hover {
	text-decoration: underline !important;
}


/* =========================================================
   OTHER CASES
   匿名事例
========================================================= */

.sn-biz-cases__others {
	width: 100% !important;

	margin: 24px 0 0 !important;
	padding: 0 !important;
}


.sn-biz-cases__others
.kt-row-column-wrap {
	align-items: stretch !important;
}


.sn-biz-cases__others
.wp-block-kadence-column {
	min-width: 0 !important;
	height: 100% !important;
}


.sn-biz-cases__others
.wp-block-kadence-column > .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	height: 100% !important;
}


/* =========================================================
   MINI CASE CARD
========================================================= */

.sn-biz-case-mini {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 28px 30px 30px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 10px;

	box-shadow:
		0 5px 18px rgba(15, 35, 65, .04);

	box-sizing: border-box !important;
}


/* =========================================================
   MINI HEAD
========================================================= */

.sn-biz-case-mini__head {
	display: flex !important;

	align-items: center !important;
	justify-content: space-between !important;

	gap: 16px !important;

	width: 100% !important;

	margin: 0 0 18px !important;
	padding: 0 0 16px !important;

	border-bottom: 1px solid #e4ebf4;
}


/* カテゴリー */

.sn-biz-case-mini__category {
	margin: 0 !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .04em;
}


/* A社 / B社 */

.sn-biz-case-mini__company {
	margin: 0 !important;
	padding: 0 !important;

	color: #718197 !important;

	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;

	text-align: right !important;
}


/* =========================================================
   MINI TITLE
========================================================= */

.sn-biz-case-mini__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #0b1f3a !important;

	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;
}


/* =========================================================
   NUMBER / HIGHLIGHT
========================================================= */

/* 全国5,000カ所 */

.sn-biz-case-mini__number {
	margin: 20px 0 0 !important;
	padding: 16px 18px !important;

	background: #f4f8ff;

	border-left: 3px solid #1769ff;

	color: #334c68 !important;

	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
}


.sn-biz-case-mini__number strong {
	margin: 0 3px;

	color: #1769ff !important;

	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1 !important;

	letter-spacing: -.03em;
}


/* IoT側の強調 */

.sn-biz-case-mini__highlight {
	margin: 20px 0 0 !important;
	padding: 17px 18px !important;

	background: #f4f8ff;

	border-left: 3px solid #1769ff;

	color: #1769ff !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}


/* =========================================================
   MINI TEXT
========================================================= */

.sn-biz-case-mini__text {
	margin: 17px 0 0 !important;
	padding: 0 !important;

	color: #52657d !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   CASE STUDY
   SECTION BUTTON RESET
========================================================= */

.sn-biz-cases__actions {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;

	margin: 38px 0 0 !important;
	padding: 0 !important;
}


/* ---------------------------------------------------------
   Kadence Button wrapper
--------------------------------------------------------- */

.sn-biz-cases__button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;
}


/* ---------------------------------------------------------
   実際のリンクボタン
--------------------------------------------------------- */

.sn-biz-cases__button a,
.sn-biz-cases__button .kt-button,
.sn-biz-cases__button .wp-block-button__link {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 220px !important;
	min-height: 50px !important;

	margin: 0 !important;
	padding: 12px 24px !important;

	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;

	border: 1px solid #1769ff !important;
	border-radius: 6px !important;

	box-shadow: none !important;

	color: #1769ff !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	text-decoration: none !important;

	box-sizing: border-box !important;

	transition:
		background-color .2s ease,
		color .2s ease,
		border-color .2s ease !important;
}


/* Kadence内部span */

.sn-biz-cases__button a span,
.sn-biz-cases__button .kt-button span,
.sn-biz-cases__button .wp-block-button__link span {
	color: inherit !important;
}


/* ---------------------------------------------------------
   HOVER
--------------------------------------------------------- */

.sn-biz-cases__button a:hover,
.sn-biz-cases__button .kt-button:hover,
.sn-biz-cases__button .wp-block-button__link:hover {
	background: #1769ff !important;
	background-color: #1769ff !important;

	border-color: #1769ff !important;

	color: #ffffff !important;

	box-shadow: none !important;

	text-decoration: none !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-cases__actions {
		margin-top: 32px !important;
	}


	.sn-biz-cases__button {
		width: 100% !important;
		max-width: 320px !important;
	}


	.sn-biz-cases__button a,
	.sn-biz-cases__button .kt-button,
	.sn-biz-cases__button .wp-block-button__link {
		width: 100% !important;
		min-width: 0 !important;
	}

}

/* =========================================================
   BUSINESS
   FLOW
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.sn-biz-flow {
	width: 100% !important;
	margin: 0 !important;
	padding: 96px 24px 104px !important;

	background: #ffffff;

	box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   STEPS
--------------------------------------------------------- */

.sn-biz-flow__steps {
	width: 100% !important;

	margin: 48px 0 0 !important;
	padding: 0 !important;
}


/* Kadence Row Layout */

.sn-biz-flow__steps
.kt-row-column-wrap {
	align-items: stretch !important;
}


/* 各カラム */

.sn-biz-flow__steps
.wp-block-kadence-column {
	position: relative;

	min-width: 0 !important;
	height: 100% !important;
}


/* カラム内部 */

.sn-biz-flow__steps
.wp-block-kadence-column > .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;

	height: 100% !important;
}


/* =========================================================
   STEP CARD
========================================================= */

.sn-biz-flow-step {
	position: relative;

	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 26px 24px 28px !important;

	background: #ffffff;

	border: 1px solid #dbe5f1;
	border-radius: 8px;

	box-shadow:
		0 5px 18px rgba(15, 35, 65, .045);

	box-sizing: border-box !important;
}


/* =========================================================
   NUMBER
========================================================= */

.sn-biz-flow-step__number {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 42px !important;
	height: 42px !important;

	margin: 0 0 18px !important;
	padding: 0 !important;

	background: #edf5ff;

	border-radius: 50%;

	color: #1769ff !important;

	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;

	letter-spacing: .04em;

	box-sizing: border-box !important;
}


/* =========================================================
   TITLE
========================================================= */

.sn-biz-flow-step__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #0b1f3a !important;

	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	letter-spacing: -.01em;
}


/* =========================================================
   TEXT
========================================================= */

.sn-biz-flow-step__text {
	margin: 11px 0 0 !important;
	padding: 0 !important;

	color: #52657d !important;

	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
}


/* =========================================================
   ARROWS
========================================================= */

/*
 * 1〜3番目のカラムの右側に矢印を表示
 */

.sn-biz-flow__steps
.wp-block-kadence-column:not(:last-child)::after {
	content: "›";

	position: absolute;

	top: 50%;
	right: -18px;

	z-index: 5;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;

	margin-top: -14px;

	background: #ffffff;

	color: #1769ff;

	font-size: 30px;
	font-weight: 400;
	line-height: 1;

	pointer-events: none;
}


/* =========================================================
   NOTE
========================================================= */

.sn-biz-flow__note {
	width: 100% !important;

	margin: 22px 0 0 !important;
	padding: 0 !important;

	color: #718197 !important;

	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;

	text-align: center !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-biz-flow {
		padding:
			80px
			24px
			88px !important;
	}


	.sn-biz-flow__steps {
		margin-top: 42px !important;
	}


	.sn-biz-flow-step {
		padding:
			24px
			22px
			26px !important;
	}


	/*
	 * Tabletでは2カラムになるため
	 * 矢印は非表示
	 */

	.sn-biz-flow__steps
	.wp-block-kadence-column::after {
		display: none !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-flow {
		padding:
			64px
			20px
			72px !important;
	}


	.sn-biz-flow__steps {
		margin-top: 36px !important;
	}


	.sn-biz-flow-step {
		padding:
			22px
			20px
			24px !important;

		border-radius: 8px;
	}


	.sn-biz-flow-step__number {
		width: 38px !important;
		height: 38px !important;

		margin-bottom: 16px !important;

		font-size: 13px !important;
	}


	.sn-biz-flow-step__title {
		font-size: 17px !important;
	}


	.sn-biz-flow-step__text {
		font-size: 13px !important;
		line-height: 1.75 !important;
	}


	.sn-biz-flow__note {
		margin-top: 18px !important;

		font-size: 11px !important;
		text-align: left !important;
	}

}

/* =========================================================
   BUSINESS
   FINAL CTA
   シンプル版
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-biz-final-cta {
	position: relative;

	width: 100% !important;
	margin: 0 !important;
	padding: 88px 24px !important;

	background: linear-gradient(
		105deg,
		#173f80 0%,
		#1c5fc4 48%,
		#1769ff 100%
	) !important;

	box-sizing: border-box !important;
}


/* =========================================================
   INNER
   背景・枠・角丸を付けない
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__inner {
	position: relative;

	width: 100% !important;
	max-width: 1200px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


/* Kadence Row Layout */

.sn-biz-final-cta
.sn-service-final-cta__inner
.kt-row-column-wrap {
	align-items: center !important;
}


/* =========================================================
   CONTENT
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__content {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	box-shadow: none !important;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__eyebrow {
	margin: 0 0 10px !important;
	padding: 0 !important;

	color: #c9dcff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	letter-spacing: .10em;
}


/* =========================================================
   TITLE
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__title {
	margin: 0 !important;
	padding: 0 !important;

	color: #ffffff !important;

	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;

	letter-spacing: -.02em;
}


/* =========================================================
   TEXT
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__text {
	width: 100% !important;
	max-width: 620px !important;

	margin: 16px 0 0 !important;
	padding: 0 !important;

	color: rgba(255, 255, 255, .88) !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.85 !important;
}


/* =========================================================
   ACTIONS
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__actions {
	display: flex !important;
	flex-direction: column !important;

	gap: 12px !important;

	width: 100% !important;
	max-width: 340px !important;

	margin: 0 0 0 auto !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	box-shadow: none !important;

	box-sizing: border-box !important;
}


/* =========================================================
   BUTTON WRAPPER RESET
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__button {
	display: flex !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


/* =========================================================
   ACTUAL BUTTON
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__button a,

.sn-biz-final-cta
.sn-service-final-cta__button .kt-button,

.sn-biz-final-cta
.sn-service-final-cta__button .wp-block-button__link {
	display: inline-flex !important;

	position: relative;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 54px !important;

	margin: 0 !important;
	padding: 13px 44px 13px 22px !important;

	border-radius: 6px !important;

	box-shadow: none !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	text-align: center !important;
	text-decoration: none !important;

	box-sizing: border-box !important;

	transition:
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease !important;
}


/* 内部span */

.sn-biz-final-cta
.sn-service-final-cta__button a span,

.sn-biz-final-cta
.sn-service-final-cta__button .kt-button span,

.sn-biz-final-cta
.sn-service-final-cta__button .wp-block-button__link span {
	color: inherit !important;
}


/* =========================================================
   PRIMARY
   お問い合わせ
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__button--primary a,

.sn-biz-final-cta
.sn-service-final-cta__button--primary .kt-button,

.sn-biz-final-cta
.sn-service-final-cta__button--primary .wp-block-button__link {
	background: #ffd33d !important;
	background-color: #ffd33d !important;
	background-image: none !important;

	border: 1px solid #ffd33d !important;

	color: #13233b !important;
}


@media (hover: hover) {

	.sn-biz-final-cta
	.sn-service-final-cta__button--primary a:hover,

	.sn-biz-final-cta
	.sn-service-final-cta__button--primary .kt-button:hover,

	.sn-biz-final-cta
	.sn-service-final-cta__button--primary .wp-block-button__link:hover {
		background: #ffca0a !important;
		background-color: #ffca0a !important;

		border-color: #ffca0a !important;

		color: #13233b !important;
	}

}


/* =========================================================
   SECONDARY
   サービスを見る
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__button--secondary a,

.sn-biz-final-cta
.sn-service-final-cta__button--secondary .kt-button,

.sn-biz-final-cta
.sn-service-final-cta__button--secondary .wp-block-button__link {
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;

	border: 1px solid #ffffff !important;

	color: #124f9f !important;
}


@media (hover: hover) {

	.sn-biz-final-cta
	.sn-service-final-cta__button--secondary a:hover,

	.sn-biz-final-cta
	.sn-service-final-cta__button--secondary .kt-button:hover,

	.sn-biz-final-cta
	.sn-service-final-cta__button--secondary .wp-block-button__link:hover {
		background: #edf5ff !important;
		background-color: #edf5ff !important;

		border-color: #edf5ff !important;

		color: #124f9f !important;
	}

}


/* =========================================================
   NOTE
========================================================= */

.sn-biz-final-cta
.sn-service-final-cta__note {
	width: 100% !important;

	margin: 7px 0 0 !important;
	padding: 0 !important;

	color: rgba(255, 255, 255, .74) !important;

	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;

	text-align: center !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-biz-final-cta {
		padding:
			76px
			24px !important;
	}


	.sn-biz-final-cta
	.sn-service-final-cta__title {
		font-size: 27px !important;
	}


	.sn-biz-final-cta
	.sn-service-final-cta__actions {
		max-width: 320px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-biz-final-cta {
		padding:
			64px
			20px
			68px !important;

		background: linear-gradient(
			145deg,
			#173f80 0%,
			#1769ff 100%
		) !important;
	}


	.sn-biz-final-cta
	.sn-service-final-cta__title {
		font-size: 24px !important;
		line-height: 1.5 !important;
	}


	.sn-biz-final-cta
	.sn-service-final-cta__text {
		margin-top: 14px !important;

		font-size: 13px !important;
		line-height: 1.8 !important;
	}


	.sn-biz-final-cta
	.sn-service-final-cta__actions {
		width: 100% !important;
		max-width: none !important;

		margin: 28px 0 0 !important;
	}


	.sn-biz-final-cta
	.sn-service-final-cta__button a,

	.sn-biz-final-cta
	.sn-service-final-cta__button .kt-button,

	.sn-biz-final-cta
	.sn-service-final-cta__button .wp-block-button__link {
		min-height: 52px !important;

		padding:
			13px
			40px
			13px
			18px !important;

		font-size: 13px !important;
	}


	.sn-biz-final-cta
	.sn-service-final-cta__note {
		text-align: left !important;
	}

}

/* =========================================================
   v6Biz
   HERO
   ---------------------------------------------------------
   共通 .sn-service-hero を利用
   v6Biz固有の調整のみ
========================================================= */


/* =========================================================
   HERO SECTION
========================================================= */

.sn-v6biz-hero {
	position: relative;

	background: linear-gradient(
		105deg,
		#ffffff 0%,
		#ffffff 42%,
		#f5f9ff 100%
	);

	overflow: hidden;
}


/* 左側にごく薄いブルーのアクセント */

.sn-v6biz-hero::before {
	content: "";

	position: absolute;
	top: -180px;
	left: -180px;

	width: 520px;
	height: 520px;

	border-radius: 50%;

	background: radial-gradient(
		circle,
		rgba(23, 105, 255, .07) 0%,
		rgba(23, 105, 255, 0) 70%
	);

	pointer-events: none;
}


/* =========================================================
   INNER ROW
========================================================= */

.sn-v6biz-hero > .kt-row-column-wrap {
	position: relative;
	z-index: 2;

	width: 100%;
	max-width: 1200px;

	margin: 0 auto;

	align-items: center;
}


/* =========================================================
   CONTENT
========================================================= */

.sn-v6biz-hero
.sn-service-hero__content {
	position: relative;
	z-index: 3;

	width: 100%;
	max-width: 560px;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-v6biz-hero
.sn-service-hero__eyebrow {
	margin: 0 0 14px;
	padding: 0;

	color: #1769ff;

	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;

	letter-spacing: .12em;
}


/* =========================================================
   TITLE
========================================================= */

.sn-v6biz-hero
.sn-service-hero__title {
	margin: 0;
	padding: 0;

	color: #0b2d5c;

	font-size: clamp(38px, 4vw, 58px);
	font-weight: 700;
	line-height: 1.18;

	letter-spacing: -.025em;
}


/* キャッチコピー */

.sn-v6biz-hero
.sn-service-hero__title-accent {
	display: inline-block;

	margin-top: 12px;

	color: #1769ff;

	font-size: .55em;
	font-weight: 700;
	line-height: 1.45;

	letter-spacing: -.02em;
}


/* =========================================================
   LEAD
========================================================= */

.sn-v6biz-hero
.sn-service-hero__lead {
	width: 100%;
	max-width: 540px;

	margin: 22px 0 0;
	padding: 0;

	color: #40546f;

	font-size: 15px;
	font-weight: 400;
	line-height: 1.9;
}


/* =========================================================
   FEATURES
========================================================= */

.sn-v6biz-hero
.sn-service-hero__features {
	width: 100%;

	margin: 30px 0 0;
	padding: 0;
}


/* 3カラム */

.sn-v6biz-hero
.sn-service-hero__feature-columns {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap: 0;

	width: 100%;
}


/* =========================================================
   FEATURE
========================================================= */

.sn-v6biz-hero
.sn-service-hero__feature {
	display: flex;
	flex-direction: column;

	align-items: flex-start;
	justify-content: flex-start;

	gap: 10px;

	min-width: 0;
	min-height: 138px;

	padding: 12px 16px 14px;

	background: rgba(255, 255, 255, .78);

	border-top: 1px solid rgba(23, 105, 255, .18);
	border-bottom: 1px solid rgba(23, 105, 255, .18);
	border-left: 1px solid rgba(23, 105, 255, .18);

	box-sizing: border-box;
}


/* 最初 */

.sn-v6biz-hero
.sn-service-hero__feature:first-child {
	border-radius: 7px 0 0 7px;
}


/* 最後 */

.sn-v6biz-hero
.sn-service-hero__feature:last-child {
	border-right: 1px solid rgba(23, 105, 255, .18);

	border-radius: 0 7px 7px 0;
}


/* =========================================================
   FEATURE ICON
========================================================= */

.sn-v6biz-hero
.sn-service-hero__feature-icon {
	display: flex;

	flex: 0 0 34px;

	align-items: center;
	justify-content: center;

	width: 34px;
	height: 34px;

	margin: 0;

	color: #1769ff;

	background: #edf5ff;

	border-radius: 50%;
}


/* Kadence Icon */

.sn-v6biz-hero
.sn-service-hero__feature-icon svg {
	width: 17px;
	height: 17px;

	fill: currentColor;
}


/* =========================================================
   FEATURE TEXT
========================================================= */

.sn-v6biz-hero
.sn-service-hero__feature-text {
	min-width: 0;

	margin: auto 0 0;
	padding: 0;

	color: #102c52;

	font-size: 12px;
	font-weight: 700;
	line-height: 1.55;
}


/* 補足テキスト */

.sn-v6biz-hero
.sn-service-hero__feature-text small {
	display: block;

	margin-top: 2px;

	color: #6d7f94;

	font-size: 10px;
	font-weight: 400;
	line-height: 1.45;
}


/* =========================================================
   ACTIONS
========================================================= */

.sn-v6biz-hero
.sn-service-hero__actions {
	display: flex;

	flex-wrap: wrap;

	align-items: center;

	gap: 12px;

	width: 100%;

	margin: 28px 0 0;
	padding: 0;
}


/* =========================================================
   BUTTON WRAPPER RESET
   Kadence対策
========================================================= */

.sn-v6biz-hero
.sn-service-hero__button {
	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;
}


/* Kadence wrapper */

.sn-v6biz-hero
.sn-service-hero__button.wp-block-kadence-advancedbtn,

.sn-v6biz-hero
.sn-service-hero__button.wp-block-buttons,

.sn-v6biz-hero
.sn-service-hero__button.wp-block-button {
	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;

	box-shadow: none !important;
}


/* =========================================================
   ACTUAL BUTTON
========================================================= */

.sn-v6biz-hero
.sn-service-hero__button a,

.sn-v6biz-hero
.sn-service-hero__button .kt-button,

.sn-v6biz-hero
.sn-service-hero__button .wp-block-button__link {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-height: 50px;

	margin: 0 !important;
	padding: 12px 24px !important;

	border-radius: 6px !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	text-align: center !important;
	text-decoration: none !important;

	box-shadow: none !important;

	box-sizing: border-box !important;

	transition:
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease,
		transform .2s ease !important;
}


/* 内部span */

.sn-v6biz-hero
.sn-service-hero__button a span,

.sn-v6biz-hero
.sn-service-hero__button .kt-button span,

.sn-v6biz-hero
.sn-service-hero__button .wp-block-button__link span {
	color: inherit !important;
}


/* =========================================================
   PRIMARY BUTTON
========================================================= */

.sn-v6biz-hero
.sn-service-hero__button--primary a,

.sn-v6biz-hero
.sn-service-hero__button--primary .kt-button,

.sn-v6biz-hero
.sn-service-hero__button--primary .wp-block-button__link {
	min-width: 220px;

	background: #ffd33d !important;
	background-color: #ffd33d !important;
	background-image: none !important;

	border: 1px solid #ffd33d !important;

	color: #13233b !important;
}


@media (hover: hover) {

	.sn-v6biz-hero
	.sn-service-hero__button--primary a:hover,

	.sn-v6biz-hero
	.sn-service-hero__button--primary .kt-button:hover,

	.sn-v6biz-hero
	.sn-service-hero__button--primary .wp-block-button__link:hover {
		background: #ffca0a !important;
		background-color: #ffca0a !important;

		border-color: #ffca0a !important;

		color: #13233b !important;

		transform: translateY(-1px);
	}

}


/* =========================================================
   SECONDARY BUTTON
========================================================= */

.sn-v6biz-hero
.sn-service-hero__button--secondary a,

.sn-v6biz-hero
.sn-service-hero__button--secondary .kt-button,

.sn-v6biz-hero
.sn-service-hero__button--secondary .wp-block-button__link {
	min-width: 200px;

	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;

	border: 1px solid #1769ff !important;

	color: #1769ff !important;
}


@media (hover: hover) {

	.sn-v6biz-hero
	.sn-service-hero__button--secondary a:hover,

	.sn-v6biz-hero
	.sn-service-hero__button--secondary .kt-button:hover,

	.sn-v6biz-hero
	.sn-service-hero__button--secondary .wp-block-button__link:hover {
		background: #edf5ff !important;
		background-color: #edf5ff !important;

		border-color: #1769ff !important;

		color: #1257d5 !important;

		transform: translateY(-1px);
	}

}


/* =========================================================
   VISUAL
========================================================= */

.sn-v6biz-hero
.sn-service-hero__visual {
	position: relative;

	display: flex;

	align-items: center;
	justify-content: flex-end;

	width: 100%;

	margin: 0;
	padding: 0;

	overflow: hidden;
}


/* =========================================================
   IMAGE
========================================================= */

.sn-v6biz-hero
.sn-service-hero__image {
	position: relative;
	z-index: 1;

	display: block;

	width: 100%;
	max-width: 650px;

	margin: 0 0 0 auto;

	border-radius: 0;

	box-shadow: none;
}


/* WordPress Image Block対策 */

.sn-v6biz-hero
.sn-service-hero__image img {
	display: block;

	width: 100%;
	height: auto;

	margin: 0;

	border-radius: 0;

	object-fit: cover;

	box-shadow: none;
}


/* =========================================================
   IMAGE LEFT FADE
   画像左端をHERO背景へ自然に溶かす
========================================================= */

.sn-v6biz-hero
.sn-service-hero__visual::after {
	content: "";

	position: absolute;
	z-index: 2;

	top: 0;
	bottom: 0;
	left: 0;

	width: 24%;

	pointer-events: none;

	background: linear-gradient(
		90deg,
		#ffffff 0%,
		rgba(255, 255, 255, .96) 12%,
		rgba(255, 255, 255, .82) 30%,
		rgba(255, 255, 255, .52) 52%,
		rgba(255, 255, 255, .20) 75%,
		rgba(255, 255, 255, 0) 100%
	);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6biz-hero
	.sn-service-hero__content {
		max-width: 500px;
	}


	.sn-v6biz-hero
	.sn-service-hero__title {
		font-size: clamp(
			36px,
			4.5vw,
			48px
		);
	}


	.sn-v6biz-hero
	.sn-service-hero__lead {
		font-size: 14px;
	}


	/* FEATURE */

	.sn-v6biz-hero
	.sn-service-hero__feature {
		min-height: 130px;

		padding:
			10px
			10px
			12px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-icon {
		flex-basis: 30px;

		width: 30px;
		height: 30px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-icon svg {
		width: 15px;
		height: 15px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-text {
		font-size: 11px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-text small {
		font-size: 9px;
	}


	/* BUTTON */

	.sn-v6biz-hero
	.sn-service-hero__actions {
		gap: 10px;
	}


	.sn-v6biz-hero
	.sn-service-hero__button a,

	.sn-v6biz-hero
	.sn-service-hero__button .kt-button,

	.sn-v6biz-hero
	.sn-service-hero__button .wp-block-button__link {
		padding:
			11px
			18px !important;

		font-size: 12px !important;
	}


	.sn-v6biz-hero
	.sn-service-hero__button--primary a,

	.sn-v6biz-hero
	.sn-service-hero__button--primary .kt-button,

	.sn-v6biz-hero
	.sn-service-hero__button--primary .wp-block-button__link {
		min-width: 190px;
	}


	.sn-v6biz-hero
	.sn-service-hero__button--secondary a,

	.sn-v6biz-hero
	.sn-service-hero__button--secondary .kt-button,

	.sn-v6biz-hero
	.sn-service-hero__button--secondary .wp-block-button__link {
		min-width: 170px;
	}


	/* IMAGE FADE */

	.sn-v6biz-hero
	.sn-service-hero__visual::after {
		width: 20%;

		background: linear-gradient(
			90deg,
			#ffffff 0%,
			rgba(255, 255, 255, .88) 20%,
			rgba(255, 255, 255, .48) 55%,
			rgba(255, 255, 255, 0) 100%
		);
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6biz-hero {
		background: linear-gradient(
			180deg,
			#ffffff 0%,
			#f5f9ff 100%
		);
	}


	/* ---------------------------------------------
	   CONTENT
	--------------------------------------------- */

	.sn-v6biz-hero
	.sn-service-hero__content {
		max-width: none;
	}


	/* ---------------------------------------------
	   EYEBROW
	--------------------------------------------- */

	.sn-v6biz-hero
	.sn-service-hero__eyebrow {
		margin-bottom: 10px;

		font-size: 11px;
	}


	/* ---------------------------------------------
	   TITLE
	--------------------------------------------- */

	.sn-v6biz-hero
	.sn-service-hero__title {
		font-size: 38px;
		line-height: 1.18;
	}


	.sn-v6biz-hero
	.sn-service-hero__title-accent {
		margin-top: 9px;

		font-size: .55em;
		line-height: 1.5;
	}


	/* ---------------------------------------------
	   LEAD
	--------------------------------------------- */

	.sn-v6biz-hero
	.sn-service-hero__lead {
		margin-top: 18px;

		font-size: 14px;
		line-height: 1.85;
	}


	/* ---------------------------------------------
	   FEATURES
	--------------------------------------------- */

	.sn-v6biz-hero
	.sn-service-hero__features {
		margin-top: 24px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-columns {
		display: grid;

		grid-template-columns: 1fr;

		gap: 8px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature {
		flex-direction: row;

		align-items: center;

		gap: 10px;

		min-height: 0;

		padding:
			10px
			12px;

		border:
			1px solid
			rgba(23, 105, 255, .18);

		border-radius: 7px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature:first-child,

	.sn-v6biz-hero
	.sn-service-hero__feature:last-child {
		border:
			1px solid
			rgba(23, 105, 255, .18);

		border-radius: 7px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-icon {
		flex:
			0
			0
			32px;

		width: 32px;
		height: 32px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-text {
		margin: 0;

		font-size: 12px;
	}


	.sn-v6biz-hero
	.sn-service-hero__feature-text small {
		font-size: 10px;
	}


	/* ---------------------------------------------
	   ACTIONS
	--------------------------------------------- */

	.sn-v6biz-hero
	.sn-service-hero__actions {
		flex-direction: column;

		align-items: stretch;

		width: 100%;

		margin-top: 24px;
	}


	.sn-v6biz-hero
	.sn-service-hero__button {
		width: 100% !important;
	}


	.sn-v6biz-hero
	.sn-service-hero__button a,

	.sn-v6biz-hero
	.sn-service-hero__button .kt-button,

	.sn-v6biz-hero
	.sn-service-hero__button .wp-block-button__link {
		width: 100% !important;

		min-width: 0 !important;
		min-height: 50px;

		padding:
			12px
			18px !important;

		font-size: 13px !important;
	}


	/* ---------------------------------------------
	   VISUAL
	--------------------------------------------- */

	.sn-v6biz-hero
	.sn-service-hero__visual {
		margin-top: 30px;

		justify-content: center;
	}


	.sn-v6biz-hero
	.sn-service-hero__image {
		width: 100%;
		max-width: none;

		margin: 0;
	}


	/* モバイルは上下配置なので左フェード不要 */

	.sn-v6biz-hero
	.sn-service-hero__visual::after {
		display: none;
	}

}

/* =========================================================
   v6Biz
   ABOUT
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6biz-about {
	position: relative;

	padding: 96px 24px;

	background: #ffffff;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6biz-about
.sn-service-section__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.sn-v6biz-about
.sn-service-section__eyebrow {
	margin-bottom: 12px;

	text-align: center;
}


.sn-v6biz-about
.sn-service-section__title {
	margin-bottom: 18px;

	text-align: center;
}


.sn-v6biz-about
.sn-service-section__lead {
	width: 100%;
	max-width: 780px;

	margin:
		0
		auto;

	color: #4c6078;

	font-size: 15px;
	line-height: 1.9;

	text-align: center;
}


/* =========================================================
   CARD GRID
========================================================= */

.sn-v6biz-about__grid {
	width: 100%;

	margin-top: 48px;
}


/*
Kadence Row Layoutを使うため、
基本的な4カラム制御はKadence側で設定。

PC:
4 columns

Tablet:
2 columns

Mobile:
1 column
*/


/* =========================================================
   CARD
========================================================= */

.sn-v6biz-about-card {
	display: flex;
	flex-direction: column;

	align-items: flex-start;

	width: 100%;
	height: 100%;

	min-height: 250px;

	padding: 30px 26px;

	background: #ffffff;

	border:
		1px solid
		#dfe7f1;

	border-radius: 10px;

	box-sizing: border-box;

	box-shadow:
		0
		6px
		24px
		rgba(17, 47, 88, .05);

	transition:
		transform .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}


@media (hover: hover) {

	.sn-v6biz-about-card:hover {
		transform: translateY(-3px);

		border-color:
			rgba(23, 105, 255, .30);

		box-shadow:
			0
			10px
			30px
			rgba(17, 47, 88, .08);
	}

}


/* =========================================================
   CARD ICON
========================================================= */

.sn-v6biz-about-card__icon {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 52px;
	height: 52px;

	margin-bottom: 22px;

	color: #1769ff;

	background: #edf5ff;

	border-radius: 50%;

	flex: 0 0 52px;
}


/* Kadence Icon対策 */

.sn-v6biz-about-card__icon svg {
	width: 24px;
	height: 24px;

	fill: currentColor;
}


/* =========================================================
   CARD TITLE
========================================================= */

.sn-v6biz-about-card__title {
	margin:
		0
		0
		12px;

	padding: 0;

	color: #102c52;

	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;

	letter-spacing: -.01em;
}


/* =========================================================
   CARD TEXT
========================================================= */

.sn-v6biz-about-card__text {
	margin: 0;
	padding: 0;

	color: #596d85;

	font-size: 14px;
	font-weight: 400;
	line-height: 1.85;
}


/* =========================================================
   NOTE
========================================================= */

.sn-v6biz-about__note {
	display: flex;

	align-items: center;

	gap: 20px;

	width: 100%;
	max-width: 980px;

	margin:
		42px
		auto
		0;

	padding:
		24px
		28px;

	background: #f6f9fd;

	border:
		1px solid
		#dce6f2;

	border-radius: 10px;

	box-sizing: border-box;
}


/* =========================================================
   NOTE ICON
========================================================= */

.sn-v6biz-about__note-icon {
	display: flex;

	align-items: center;
	justify-content: center;

	flex:
		0
		0
		50px;

	width: 50px;
	height: 50px;

	color: #1769ff;

	background: #e8f2ff;

	border-radius: 50%;
}


/* Kadence Icon対策 */

.sn-v6biz-about__note-icon svg {
	width: 23px;
	height: 23px;

	fill: currentColor;
}


/* =========================================================
   NOTE CONTENT
========================================================= */

.sn-v6biz-about__note-content {
	flex: 1;

	min-width: 0;
}


/* =========================================================
   NOTE TITLE
========================================================= */

.sn-v6biz-about__note-title {
	margin:
		0
		0
		6px;

	padding: 0;

	color: #102c52;

	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}


/* =========================================================
   NOTE TEXT
========================================================= */

.sn-v6biz-about__note-text {
	margin: 0;
	padding: 0;

	color: #596d85;

	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6biz-about {
		padding:
			80px
			24px;
	}


	.sn-v6biz-about
	.sn-service-section__lead {
		max-width: 720px;
	}


	.sn-v6biz-about__grid {
		margin-top: 40px;
	}


	.sn-v6biz-about-card {
		min-height: 230px;

		padding:
			26px
			22px;
	}


	.sn-v6biz-about-card__icon {
		width: 48px;
		height: 48px;

		flex-basis: 48px;

		margin-bottom: 18px;
	}


	.sn-v6biz-about-card__icon svg {
		width: 22px;
		height: 22px;
	}


	.sn-v6biz-about-card__title {
		font-size: 17px;
	}


	.sn-v6biz-about__note {
		margin-top: 36px;

		padding:
			22px
			24px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6biz-about {
		padding:
			64px
			20px;
	}


	/* SECTION HEADER */

	.sn-v6biz-about
	.sn-service-section__lead {
		font-size: 14px;
		line-height: 1.85;

		text-align: left;
	}


	/* GRID */

	.sn-v6biz-about__grid {
		margin-top: 32px;
	}


	/* CARD */

	.sn-v6biz-about-card {
		min-height: 0;

		padding:
			24px
			20px;
	}


	.sn-v6biz-about-card__icon {
		width: 46px;
		height: 46px;

		flex-basis: 46px;

		margin-bottom: 16px;
	}


	.sn-v6biz-about-card__icon svg {
		width: 21px;
		height: 21px;
	}


	.sn-v6biz-about-card__title {
		margin-bottom: 10px;

		font-size: 17px;
	}


	.sn-v6biz-about-card__text {
		font-size: 14px;
		line-height: 1.8;
	}


	/* NOTE */

	.sn-v6biz-about__note {
		align-items: flex-start;

		gap: 14px;

		margin-top: 28px;

		padding:
			20px
			18px;
	}


	.sn-v6biz-about__note-icon {
		flex:
			0
			0
			42px;

		width: 42px;
		height: 42px;
	}


	.sn-v6biz-about__note-icon svg {
		width: 20px;
		height: 20px;
	}


	.sn-v6biz-about__note-title {
		font-size: 15px;
		line-height: 1.5;
	}


	.sn-v6biz-about__note-text {
		font-size: 13px;
		line-height: 1.75;
	}

}

/* =========================================================
   v6Biz
   USE CASE
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6biz-usecase {
	position: relative;

	padding: 96px 24px;

	background: #f5f9ff;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6biz-usecase
.sn-service-section__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.sn-v6biz-usecase
.sn-service-section__eyebrow {
	margin-bottom: 12px;

	text-align: center;
}


.sn-v6biz-usecase
.sn-service-section__title {
	margin-bottom: 18px;

	text-align: center;
}


.sn-v6biz-usecase
.sn-service-section__lead {
	width: 100%;
	max-width: 760px;

	margin: 0 auto;

	color: #4c6078;

	font-size: 15px;
	line-height: 1.9;

	text-align: center;
}


/* =========================================================
   GRID
   Kadence Row Layout側で
   PC 4カラム / Tablet 2カラム / Mobile 1カラム
========================================================= */

.sn-v6biz-usecase__grid {
	width: 100%;

	margin-top: 48px;
}


/* =========================================================
   CARD
========================================================= */

.sn-v6biz-usecase-card {
	position: relative;

	display: flex;
	flex-direction: column;

	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;

	background: #ffffff;

	border: 1px solid #e0e8f2;
	border-radius: 10px;

	overflow: hidden;

	box-sizing: border-box;

	box-shadow:
		0 6px 24px
		rgba(17, 47, 88, .06);

	transition:
		transform .25s ease,
		box-shadow .25s ease,
		border-color .25s ease;
}


@media (hover: hover) {

	.sn-v6biz-usecase-card:hover {
		transform: translateY(-4px);

		border-color:
			rgba(23, 105, 255, .25);

		box-shadow:
			0 12px 32px
			rgba(17, 47, 88, .10);
	}

}


/* =========================================================
   IMAGE
========================================================= */

.sn-v6biz-usecase-card__image {
	position: relative;

	display: block;

	width: 100%;

	margin: 0;
	padding: 0;

	overflow: hidden;

	background: #eaf1f8;
}


/* WordPress / Kadence Image Block対策 */

.sn-v6biz-usecase-card__image img {
	display: block;

	width: 100%;
	height: 190px;

	margin: 0;

	object-fit: cover;
	object-position: center;

	border: 0;
	border-radius: 0;

	transition:
		transform .4s ease;
}


@media (hover: hover) {

	.sn-v6biz-usecase-card:hover
	.sn-v6biz-usecase-card__image img {
		transform: scale(1.025);
	}

}


/* =========================================================
   BODY
========================================================= */

.sn-v6biz-usecase-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;

	width: 100%;

	padding: 22px 22px 24px;

	box-sizing: border-box;
}


/* =========================================================
   TITLE
========================================================= */

.sn-v6biz-usecase-card__title {
	position: relative;

	margin: 0 0 10px;
	padding: 0 0 0 14px;

	color: #102c52;

	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;

	letter-spacing: -.01em;
}


/* タイトル左のブルーライン */

.sn-v6biz-usecase-card__title::before {
	content: "";

	position: absolute;

	top: .25em;
	bottom: .25em;
	left: 0;

	width: 3px;

	background: #1769ff;

	border-radius: 3px;
}


/* =========================================================
   TEXT
========================================================= */

.sn-v6biz-usecase-card__text {
	margin: 0;
	padding: 0;

	color: #596d85;

	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6biz-usecase {
		padding: 80px 24px;
	}


	.sn-v6biz-usecase
	.sn-service-section__lead {
		max-width: 700px;
	}


	.sn-v6biz-usecase__grid {
		margin-top: 40px;
	}


	.sn-v6biz-usecase-card__image img {
		height: 210px;
	}


	.sn-v6biz-usecase-card__body {
		padding:
			20px
			20px
			22px;
	}


	.sn-v6biz-usecase-card__title {
		font-size: 17px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6biz-usecase {
		padding: 64px 20px;
	}


	/* ---------------------------------------------
	   HEADER
	--------------------------------------------- */

	.sn-v6biz-usecase
	.sn-service-section__lead {
		font-size: 14px;
		line-height: 1.85;

		text-align: left;
	}


	/* ---------------------------------------------
	   GRID
	--------------------------------------------- */

	.sn-v6biz-usecase__grid {
		margin-top: 32px;
	}


	/* ---------------------------------------------
	   CARD
	--------------------------------------------- */

	.sn-v6biz-usecase-card {
		border-radius: 8px;
	}


	/* ---------------------------------------------
	   IMAGE
	--------------------------------------------- */

	.sn-v6biz-usecase-card__image img {
		height: 210px;
	}


	/* ---------------------------------------------
	   BODY
	--------------------------------------------- */

	.sn-v6biz-usecase-card__body {
		padding:
			20px
			18px
			22px;
	}


	/* ---------------------------------------------
	   TITLE
	--------------------------------------------- */

	.sn-v6biz-usecase-card__title {
		margin-bottom: 8px;

		font-size: 16px;
	}


	/* ---------------------------------------------
	   TEXT
	--------------------------------------------- */

	.sn-v6biz-usecase-card__text {
		font-size: 14px;
		line-height: 1.75;
	}

}

/* =========================================================
   v6Biz
   PRICE / PLAN
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6biz-price {
	position: relative;
	padding: 96px 24px;
	background: #ffffff;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6biz-price .sn-service-section__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.sn-v6biz-price .sn-service-section__eyebrow {
	margin: 0 0 10px;
	text-align: center;
}

.sn-v6biz-price .sn-service-section__title {
	margin: 0 0 16px;
	text-align: center;
}

.sn-v6biz-price .sn-service-section__lead {
	width: 100%;
	max-width: 720px;
	margin: 0 auto;

	color: #536981;

	font-size: 15px;
	line-height: 1.85;
	text-align: center;
}


/* =========================================================
   TABLE WRAPPER
========================================================= */

.sn-v6biz-price__table-wrap {
	width: 100%;
	max-width: 1040px;

	margin: 48px auto 0;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid #dce6f1;
	border-radius: 12px;

	box-shadow:
		0 8px 28px
		rgba(17, 47, 88, .06);
}


/* =========================================================
   TABLE
========================================================= */

.sn-v6biz-price-table {
	width: 100%;
}


/* =========================================================
   HEAD / ROW
========================================================= */

.sn-v6biz-price-table__head,
.sn-v6biz-price-table__row {
	display: grid;

	grid-template-columns:
		180px
		repeat(3, minmax(0, 1fr));

	width: 100%;
}


/* =========================================================
   TABLE HEADER
========================================================= */

.sn-v6biz-price-table__head {
	background: #f3f7fc;

	border-bottom: 1px solid #dce6f1;
}


.sn-v6biz-price-table__head
.sn-v6biz-price-table__label {
	background: #edf3fa;
}


.sn-v6biz-price-table__plan {
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 82px;

	padding: 20px 16px;

	border-left: 1px solid #dce6f1;

	box-sizing: border-box;
}


.sn-v6biz-price-table__name {
	color: #102c52;

	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;

	letter-spacing: -.01em;
}


/* =========================================================
   ROW
========================================================= */

.sn-v6biz-price-table__row {
	border-bottom: 1px solid #e2e9f1;
}


.sn-v6biz-price-table__row:last-child {
	border-bottom: 0;
}


/* =========================================================
   LABEL
========================================================= */

.sn-v6biz-price-table__label {
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 92px;

	padding: 20px 18px;

	background: #f8fafc;

	color: #233e60;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;

	text-align: center;

	box-sizing: border-box;
}


/* =========================================================
   VALUE
========================================================= */

.sn-v6biz-price-table__value {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	min-width: 0;
	min-height: 92px;

	padding: 20px 16px;

	border-left: 1px solid #e2e9f1;

	color: #314c6c;

	font-size: 15px;
	line-height: 1.6;

	text-align: center;

	box-sizing: border-box;
}


.sn-v6biz-price-table__value strong {
	color: #102c52;

	font-size: 17px;
	font-weight: 700;
}


/* =========================================================
   PRICE
========================================================= */

.sn-v6biz-price-table__price {
	display: block;

	color: #102c52;

	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;

	white-space: nowrap;
}


.sn-v6biz-price-table__tax {
	display: block;

	margin-top: 5px;

	color: #718096;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;

	white-space: nowrap;
}


/* =========================================================
   MONTHLY PRICE
   月額を最も強調
========================================================= */

.sn-v6biz-price-table__row--monthly
.sn-v6biz-price-table__label {
	background: #f2f7ff;

	color: #102c52;
}


.sn-v6biz-price-table__row--monthly
.sn-v6biz-price-table__value {
	background: #fbfdff;
}


.sn-v6biz-price-table__row--monthly
.sn-v6biz-price-table__price {
	color: #1769ff;

	font-size: 24px;
	font-weight: 700;

	letter-spacing: -.02em;
}


/* =========================================================
   NOTES
========================================================= */

.sn-v6biz-price__notes {
	width: 100%;
	max-width: 1040px;

	margin: 20px auto 0;
	padding: 0;

	box-sizing: border-box;
}


.sn-v6biz-price__note {
	margin: 0;

	color: #6a7c90;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.8;
}


/* Gutenbergがpを複数生成した場合 */

.sn-v6biz-price__notes p {
	margin: 0 0 3px;
}


.sn-v6biz-price__notes p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   OPTIONAL INFO BOX
   使用する場合のみ
========================================================= */

.sn-v6biz-price__info {
	display: flex;
	align-items: flex-start;
	gap: 16px;

	width: 100%;
	max-width: 1040px;

	margin: 28px auto 0;
	padding: 20px 22px;

	background: #f5f9ff;

	border: 1px solid #d9e7fb;
	border-radius: 8px;

	box-sizing: border-box;
}


.sn-v6biz-price__info-icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 38px;

	width: 38px;
	height: 38px;

	color: #1769ff;

	background: #e8f1ff;

	border-radius: 50%;
}


.sn-v6biz-price__info-content {
	flex: 1;
	min-width: 0;
}


.sn-v6biz-price__info-title {
	margin: 0 0 5px;

	color: #102c52;

	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}


.sn-v6biz-price__info-text {
	margin: 0;

	color: #536981;

	font-size: 13px;
	line-height: 1.75;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6biz-price {
		padding: 80px 24px;
	}


	.sn-v6biz-price__table-wrap {
		margin-top: 40px;
	}


	.sn-v6biz-price-table__head,
	.sn-v6biz-price-table__row {
		grid-template-columns:
			150px
			repeat(3, minmax(0, 1fr));
	}


	.sn-v6biz-price-table__plan {
		min-height: 76px;
		padding: 18px 12px;
	}


	.sn-v6biz-price-table__name {
		font-size: 18px;
	}


	.sn-v6biz-price-table__label,
	.sn-v6biz-price-table__value {
		min-height: 88px;

		padding:
			18px
			12px;
	}


	.sn-v6biz-price-table__row--monthly
	.sn-v6biz-price-table__price {
		font-size: 21px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6biz-price {
		padding: 64px 20px;
	}


	/* ---------------------------------------------
	   HEADER
	--------------------------------------------- */

	.sn-v6biz-price
	.sn-service-section__lead {
		font-size: 14px;
		line-height: 1.8;

		text-align: left;
	}


	/* ---------------------------------------------
	   TABLE WRAPPER
	   横スクロール方式
	--------------------------------------------- */

	.sn-v6biz-price__table-wrap {
		margin-top: 32px;

		overflow-x: auto;
		overflow-y: hidden;

		border-radius: 8px;

		-webkit-overflow-scrolling: touch;
	}


	/* ---------------------------------------------
	   TABLE
	--------------------------------------------- */

	.sn-v6biz-price-table {
		min-width: 680px;
	}


	.sn-v6biz-price-table__head,
	.sn-v6biz-price-table__row {
		grid-template-columns:
			130px
			repeat(3, 1fr);
	}


	/* ---------------------------------------------
	   HEADER
	--------------------------------------------- */

	.sn-v6biz-price-table__plan {
		min-height: 68px;

		padding:
			16px
			10px;
	}


	.sn-v6biz-price-table__name {
		font-size: 17px;
	}


	/* ---------------------------------------------
	   CELL
	--------------------------------------------- */

	.sn-v6biz-price-table__label,
	.sn-v6biz-price-table__value {
		min-height: 82px;

		padding:
			16px
			10px;
	}


	.sn-v6biz-price-table__label {
		font-size: 13px;
	}


	.sn-v6biz-price-table__value {
		font-size: 14px;
	}


	.sn-v6biz-price-table__value strong {
		font-size: 15px;
	}


	/* ---------------------------------------------
	   PRICE
	--------------------------------------------- */

	.sn-v6biz-price-table__price {
		font-size: 17px;
	}


	.sn-v6biz-price-table__row--monthly
	.sn-v6biz-price-table__price {
		font-size: 20px;
	}


	.sn-v6biz-price-table__tax {
		font-size: 11px;
	}


	/* ---------------------------------------------
	   NOTES
	--------------------------------------------- */

	.sn-v6biz-price__notes {
		margin-top: 16px;
	}


	.sn-v6biz-price__note,
	.sn-v6biz-price__notes p {
		font-size: 11px;
		line-height: 1.75;
	}
}

/* =========================================================
   v6Biz
   SERVICE CONDITIONS
   対応回線・ご利用条件
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6biz-conditions {
	position: relative;
	width: 100%;
	padding: 96px 24px;
	background: #f5f9ff;
	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6biz-conditions .sn-service-section__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.sn-v6biz-conditions .sn-service-section__eyebrow {
	margin: 0 0 10px;
	text-align: center;
}


.sn-v6biz-conditions .sn-service-section__title {
	margin: 0 0 16px;
	text-align: center;
}


.sn-v6biz-conditions .sn-service-section__lead {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;

	color: #536981;

	font-size: 15px;
	font-weight: 400;
	line-height: 1.85;

	text-align: center;
}


/* =========================================================
   GRID
========================================================= */

.sn-v6biz-conditions__grid {
	width: 100%;
	margin-top: 48px;
}


/*
 * Kadence Row Layout
 * 各カラムを同じ高さにする
 */

.sn-v6biz-conditions__grid > .kt-row-column-wrap {
	align-items: stretch;
}


.sn-v6biz-conditions__grid
> .kt-row-column-wrap
> .wp-block-kadence-column {
	height: 100%;
}


.sn-v6biz-conditions__grid
> .kt-row-column-wrap
> .wp-block-kadence-column
> .kt-inside-inner-col {
	height: 100%;
}


/* =========================================================
   CARD
========================================================= */

.sn-v6biz-conditions-card {
	display: flex !important;
	flex-direction: column;

	width: 100%;
	height: 100%;

	margin: 0;
	padding: 30px 28px !important;

	background: #ffffff !important;

	border: 1px solid #dce6f1 !important;
	border-radius: 10px !important;

	box-sizing: border-box;

	box-shadow:
		0 6px 24px
		rgba(17, 47, 88, .06) !important;
}


/*
 * Gutenberg Groupにinner-containerが生成される場合
 */

.sn-v6biz-conditions-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;

	width: 100%;
	height: 100%;

	box-sizing: border-box;
}


/* =========================================================
   ICON
========================================================= */

.sn-v6biz-conditions-card__icon {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 52px;
	height: 52px;

	margin: 0 0 22px !important;

	color: #1769ff !important;

	background: #edf5ff;

	border-radius: 50%;

	box-sizing: border-box;
}


/*
 * Kadence Icon
 */

.sn-v6biz-conditions-card__icon .kt-svg-icon-wrap,
.sn-v6biz-conditions-card__icon .kt-svg-icon {
	color: #1769ff !important;
}


.sn-v6biz-conditions-card__icon svg {
	width: 25px;
	height: 25px;

	color: #1769ff;
	fill: currentColor;
}


/* =========================================================
   CARD TITLE
========================================================= */

.sn-v6biz-conditions-card__title {
	position: relative;

	margin: 0 0 14px !important;
	padding: 0 0 0 14px !important;

	color: #102c52 !important;

	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.5;
	letter-spacing: -.01em;
}


/*
 * タイトル左のブルーライン
 */

.sn-v6biz-conditions-card__title::before {
	content: "";

	position: absolute;

	top: .18em;
	bottom: .18em;
	left: 0;

	width: 3px;

	background: #1769ff;

	border-radius: 3px;
}


/* =========================================================
   TEXT
========================================================= */

.sn-v6biz-conditions-card__text {
	margin: 0 !important;
	padding: 0 !important;

	color: #536981 !important;

	font-size: 14px !important;
	font-weight: 400;
	line-height: 1.85;
}


/*
 * 通常本文が連続する場合
 */

.sn-v6biz-conditions-card__text
+ .sn-v6biz-conditions-card__text {
	margin-top: 16px !important;
}


/* =========================================================
   LINE LIST
   対応回線一覧
========================================================= */

.sn-v6biz-conditions-card__list {
	margin: 20px 0 0 !important;
	padding: 0 !important;

	list-style: none !important;
}


.sn-v6biz-conditions-card__list li {
	position: relative;

	margin: 0 0 8px !important;
	padding: 0 0 0 16px !important;

	color: #536981 !important;

	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
}


.sn-v6biz-conditions-card__list li:last-child {
	margin-bottom: 0 !important;
}


/*
 * リストマーカー
 */

.sn-v6biz-conditions-card__list li::before {
	content: "";

	position: absolute;

	top: .72em;
	left: 0;

	width: 5px;
	height: 5px;

	background: #1769ff;

	border-radius: 50%;
}


/*
 * WordPress標準マーカーを消す
 */

.sn-v6biz-conditions-card__list li::marker {
	content: "";
}


/* =========================================================
   NOTICE
   対応ルーター注意事項
========================================================= */

.sn-v6biz-conditions-card__notice {
	position: relative;

	margin: 18px 0 0 !important;
	padding: 14px 16px 14px 40px !important;

	background: #f4f8ff !important;

	border: 1px solid #dce8f8 !important;
	border-radius: 6px !important;

	color: #536981 !important;

	font-size: 13px !important;
	font-weight: 400;
	line-height: 1.75;

	box-sizing: border-box;
}


/*
 * INFOアイコン
 */

.sn-v6biz-conditions-card__notice::before {
	content: "i";

	position: absolute;

	top: 15px;
	left: 14px;

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

	width: 17px;
	height: 17px;

	color: #1769ff;
	background: #e3efff;

	border-radius: 50%;

	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}


/*
 * Notice内にParagraphが入った場合
 */

.sn-v6biz-conditions-card__notice p {
	margin: 0 !important;
	padding: 0 !important;

	color: inherit !important;

	font-size: inherit !important;
	line-height: inherit;
}


/* =========================================================
   LINK
   対応機器を確認する
========================================================= */

.sn-v6biz-conditions-card__link {
	display: inline-flex;
	align-items: center;

	width: fit-content;

	margin: 20px 0 0 !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.5;

	text-decoration: none !important;

	transition:
		color .2s ease,
		opacity .2s ease;
}


.sn-v6biz-conditions-card__link:hover {
	color: #0e55d8 !important;
	text-decoration: underline !important;
}


/*
 * Paragraphブロック内のaタグにリンクがある場合
 */

.sn-v6biz-conditions-card__link a {
	color: #1769ff !important;

	font-size: inherit;
	font-weight: 600;

	text-decoration: none !important;
}


.sn-v6biz-conditions-card__link a:hover {
	color: #0e55d8 !important;
	text-decoration: underline !important;
}


/* =========================================================
   CARD HOVER
========================================================= */

@media (hover: hover) {

	.sn-v6biz-conditions-card {
		transition:
			transform .2s ease,
			box-shadow .2s ease,
			border-color .2s ease;
	}


	.sn-v6biz-conditions-card:hover {
		transform: translateY(-3px);

		border-color: #cadcf2 !important;

		box-shadow:
			0 12px 30px
			rgba(17, 47, 88, .09) !important;
	}

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6biz-conditions {
		padding: 80px 24px;
	}


	.sn-v6biz-conditions .sn-service-section__lead {
		max-width: 680px;
	}


	.sn-v6biz-conditions__grid {
		margin-top: 40px;
	}


	.sn-v6biz-conditions-card {
		padding: 26px 24px !important;
	}


	.sn-v6biz-conditions-card__icon {
		width: 48px;
		height: 48px;

		margin-bottom: 20px !important;
	}


	.sn-v6biz-conditions-card__icon svg {
		width: 23px;
		height: 23px;
	}


	.sn-v6biz-conditions-card__title {
		font-size: 18px !important;
	}


	.sn-v6biz-conditions-card__list li {
		font-size: 13px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6biz-conditions {
		padding: 64px 20px;
	}


	.sn-v6biz-conditions .sn-service-section__lead {
		max-width: none;

		font-size: 14px;
		line-height: 1.8;

		text-align: left;
	}


	.sn-v6biz-conditions__grid {
		margin-top: 32px;
	}


	.sn-v6biz-conditions-card {
		padding: 24px 20px !important;
	}


	.sn-v6biz-conditions-card__icon {
		width: 46px;
		height: 46px;

		margin-bottom: 18px !important;
	}


	.sn-v6biz-conditions-card__icon svg {
		width: 22px;
		height: 22px;
	}


	.sn-v6biz-conditions-card__title {
		margin-bottom: 12px !important;

		font-size: 18px !important;
	}


	.sn-v6biz-conditions-card__text {
		font-size: 14px !important;
		line-height: 1.8;
	}


	.sn-v6biz-conditions-card__list {
		margin-top: 18px !important;
	}


	.sn-v6biz-conditions-card__list li {
		margin-bottom: 7px !important;

		font-size: 14px;
		line-height: 1.6;
	}


	.sn-v6biz-conditions-card__notice {
		margin-top: 16px !important;

		padding:
			13px
			14px
			13px
			38px !important;

		font-size: 12px !important;
		line-height: 1.7;
	}


	.sn-v6biz-conditions-card__notice::before {
		top: 14px;
		left: 13px;
	}


	.sn-v6biz-conditions-card__link {
		margin-top: 18px !important;

		font-size: 14px !important;
	}

}

/* =========================================================
   v6Biz
   FLOW + FAQ
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6biz-support {
	position: relative;
	width: 100%;
	padding: 88px 24px;

	background: #ffffff;

	box-sizing: border-box;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6biz-support .sn-service-section__inner {
	width: 100%;
	max-width: 1200px;

	margin: 0 auto;

	box-sizing: border-box;
}


/* =========================================================
   2 COLUMN GRID
========================================================= */

.sn-v6biz-support__grid {
	width: 100%;
}


/*
 * Kadence Row Layout
 * 左右カラムを上揃え
 */

.sn-v6biz-support__grid > .kt-row-column-wrap {
	align-items: flex-start !important;
}


/*
 * 左右のKadence Column
 */

.sn-v6biz-support__grid
> .kt-row-column-wrap
> .wp-block-kadence-column {
	height: auto !important;
	min-height: 0 !important;

	align-self: flex-start !important;
}


/*
 * Kadence Column内部
 */

.sn-v6biz-support__grid
> .kt-row-column-wrap
> .wp-block-kadence-column
> .kt-inside-inner-col {
	display: block !important;

	height: auto !important;
	min-height: 0 !important;
}


/* =========================================================
   COMMON HEADER
========================================================= */

.sn-v6biz-support__eyebrow {
	margin: 0 0 8px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: .12em;
	text-transform: uppercase;
}


.sn-v6biz-support__title {
	margin: 0 0 28px !important;
	padding: 0 !important;

	color: #102c52 !important;

	font-size: clamp(28px, 2.6vw, 36px) !important;
	font-weight: 700 !important;
	line-height: 1.35;

	letter-spacing: -.02em;
}


/* =========================================================
   FLOW BOX
========================================================= */

.sn-v6biz-flow {
	position: relative;

	display: block !important;

	width: 100% !important;

	height: auto !important;
	min-height: 0 !important;

	margin: 0 !important;

	padding: 38px 38px 38px !important;

	background: #f8fbff !important;

	border: 1px solid #dce7f3 !important;
	border-radius: 12px !important;

	box-sizing: border-box !important;

	align-self: flex-start !important;
}


/*
 * Gutenberg Group内部
 */

.sn-v6biz-flow > .wp-block-group__inner-container {
	display: block !important;

	width: 100%;

	height: auto !important;
	min-height: 0 !important;
}


/* =========================================================
   FLOW STEPS ROW
========================================================= */

.sn-v6biz-flow__steps {
	position: relative;

	width: 100%;

	margin: 46px 0 0 !important;
}


/*
 * Kadence Row内部
 */

.sn-v6biz-flow__steps > .kt-row-column-wrap {
	position: relative;

	align-items: flex-start !important;
}


/*
 * 各STEPのKadence Column
 */

.sn-v6biz-flow__steps
> .kt-row-column-wrap
> .wp-block-kadence-column {
	position: relative;

	height: auto !important;
	min-height: 0 !important;
}


/*
 * STEP Column内部
 */

.sn-v6biz-flow__steps
> .kt-row-column-wrap
> .wp-block-kadence-column
> .kt-inside-inner-col {
	display: block !important;

	height: auto !important;
	min-height: 0 !important;
}


/* =========================================================
   FLOW CARD
========================================================= */

.sn-v6biz-flow-card {
	position: relative;
	z-index: 2;

	display: flex !important;
	flex-direction: column;
	align-items: center;

	width: 100%;

	height: auto !important;
	min-height: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	text-align: center;
}


/*
 * Gutenberg Group内部
 */

.sn-v6biz-flow-card > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	align-items: center;

	width: 100%;

	height: auto !important;
	min-height: 0 !important;
}


/* =========================================================
   CONNECTION LINE
========================================================= */

/*
 * STEP01 → STEP02
 * STEP02 → STEP03
 *
 * 各Kadence Columnから横線を描画
 */

.sn-v6biz-flow__steps
> .kt-row-column-wrap
> .wp-block-kadence-column:not(:last-child)::after {
	content: "";

	position: absolute;

	top: 21px;
	left: calc(50% + 22px);

	width: calc(100% - 44px);
	height: 2px;

	background: #b9d3f5;

	z-index: 0;

	pointer-events: none;
}


/* =========================================================
   STEP NUMBER
========================================================= */

.sn-v6biz-flow-card__step {
	position: relative;
	z-index: 3;

	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 44px !important;
	height: 44px !important;

	margin: 0 auto 18px !important;
	padding: 0 !important;

	background: #1769ff !important;

	border: 0 !important;
	border-radius: 50% !important;

	color: #ffffff !important;

	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	box-sizing: border-box;

	box-shadow:
		0 5px 16px
		rgba(23, 105, 255, .18);
}


/* =========================================================
   FLOW TITLE
========================================================= */

.sn-v6biz-flow-card__title {
	margin: 0 0 10px !important;
	padding: 0 !important;

	color: #102c52 !important;

	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.45;

	text-align: center;
}


/* =========================================================
   FLOW TEXT
========================================================= */

.sn-v6biz-flow-card__text {
	margin: 0 !important;
	padding: 0 !important;

	color: #596d85 !important;

	font-size: 13px !important;
	font-weight: 400;
	line-height: 1.75;

	text-align: center;
}


/* =========================================================
   FAQ
========================================================= */

.sn-v6biz-faq {
	position: relative;

	display: block !important;

	width: 100% !important;

	height: auto !important;
	min-height: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;

	box-sizing: border-box;

	align-self: flex-start !important;
}


/*
 * Gutenberg Group内部
 */

.sn-v6biz-faq > .wp-block-group__inner-container {
	display: block !important;

	width: 100%;

	height: auto !important;
	min-height: 0 !important;
}


/* =========================================================
   FAQ ACCORDION
========================================================= */

.sn-v6biz-faq__accordion {
	width: 100%;

	margin: 6px 0 0 !important;
}


/* =========================================================
   FAQ ITEM
========================================================= */

.sn-v6biz-faq__accordion .kt-accordion-pane {
	margin: 0 0 10px !important;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid #dfe8f2 !important;
	border-radius: 7px !important;
}


.sn-v6biz-faq__accordion .kt-accordion-pane:last-child {
	margin-bottom: 0 !important;
}


/* =========================================================
   FAQ QUESTION
========================================================= */

.sn-v6biz-faq__accordion
.kt-blocks-accordion-header {
	min-height: 52px;

	padding: 14px 16px !important;

	background: #ffffff !important;

	border: 0 !important;

	color: #102c52 !important;

	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.55;

	text-align: left;

	box-sizing: border-box;

	box-shadow: none !important;

	transition:
		background .2s ease,
		color .2s ease;
}


/* Hover */

.sn-v6biz-faq__accordion
.kt-blocks-accordion-header:hover {
	background: #f7faff !important;

	color: #1769ff !important;
}


/* Open */

.sn-v6biz-faq__accordion
.kt-blocks-accordion-header.kt-accordion-panel-active {
	background: #f4f8ff !important;

	color: #1769ff !important;
}


/* =========================================================
   FAQ ICON
========================================================= */

.sn-v6biz-faq__accordion
.kt-blocks-accordion-icon-trigger {
	color: #1769ff !important;
}


/* =========================================================
   FAQ ANSWER
========================================================= */

.sn-v6biz-faq__accordion
.kt-accordion-panel-inner {
	padding: 17px 18px 19px !important;

	background: #ffffff !important;

	border-top: 1px solid #e4edf6 !important;

	color: #596d85 !important;

	font-size: 13px;
	line-height: 1.8;
}


.sn-v6biz-faq__accordion
.kt-accordion-panel-inner p {
	margin: 0 0 12px !important;
	padding: 0 !important;

	color: inherit !important;

	font-size: inherit !important;
	line-height: inherit;
}


.sn-v6biz-faq__accordion
.kt-accordion-panel-inner p:last-child {
	margin-bottom: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6biz-support {
		padding: 76px 24px;
	}


	.sn-v6biz-flow {
		padding: 32px 28px 34px !important;
	}


	.sn-v6biz-support__title {
		margin-bottom: 26px !important;

		font-size: 28px !important;
	}


	.sn-v6biz-flow__steps {
		margin-top: 40px !important;
	}


	.sn-v6biz-flow-card__title {
		font-size: 16px !important;
	}


	.sn-v6biz-flow-card__text {
		font-size: 12px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6biz-support {
		padding: 64px 20px;
	}


	.sn-v6biz-support__grid
	> .kt-row-column-wrap {
		display: block !important;
	}


	.sn-v6biz-support__grid
	> .kt-row-column-wrap
	> .wp-block-kadence-column {
		width: 100% !important;
	}


	.sn-v6biz-flow {
		padding: 28px 22px 30px !important;
	}


	.sn-v6biz-support__title {
		margin-bottom: 24px !important;

		font-size: 26px !important;
	}


	/* ---------------------------------------------
	   FLOW STEPS
	--------------------------------------------- */

	.sn-v6biz-flow__steps {
		margin-top: 32px !important;
	}


	/*
	 * PC用横ライン停止
	 */

	.sn-v6biz-flow__steps
	> .kt-row-column-wrap
	> .wp-block-kadence-column::after {
		display: none !important;
	}


	/*
	 * STEP Rowを1列化
	 */

	.sn-v6biz-flow__steps
	> .kt-row-column-wrap {
		display: block !important;
	}


	.sn-v6biz-flow__steps
	> .kt-row-column-wrap
	> .wp-block-kadence-column {
		width: 100% !important;

		margin: 0 !important;
	}


	/* ---------------------------------------------
	   FLOW CARD
	--------------------------------------------- */

	.sn-v6biz-flow-card {
		position: relative;

		align-items: flex-start;

		padding: 0 0 30px 58px !important;

		text-align: left;
	}


	.sn-v6biz-flow-card:last-child {
		padding-bottom: 0 !important;
	}


	/*
	 * モバイル縦ライン
	 */

	.sn-v6biz-flow-card:not(:last-child)::after {
		content: "";

		position: absolute;

		top: 42px;
		bottom: 0;
		left: 21px;

		width: 2px;

		background: #b9d3f5;

		z-index: 0;
	}


	/* ---------------------------------------------
	   STEP NUMBER
	--------------------------------------------- */

	.sn-v6biz-flow-card__step {
		position: absolute;

		top: 0;
		left: 0;

		width: 42px !important;
		height: 42px !important;

		margin: 0 !important;

		font-size: 12px !important;
	}


	/* ---------------------------------------------
	   FLOW TITLE
	--------------------------------------------- */

	.sn-v6biz-flow-card__title {
		margin-bottom: 7px !important;

		font-size: 17px !important;

		text-align: left;
	}


	/* ---------------------------------------------
	   FLOW TEXT
	--------------------------------------------- */

	.sn-v6biz-flow-card__text {
		font-size: 13px !important;
		line-height: 1.7;

		text-align: left;
	}


	/* ---------------------------------------------
	   FAQ
	--------------------------------------------- */

	.sn-v6biz-faq {
		margin-top: 44px !important;
	}


	.sn-v6biz-faq__accordion
	.kt-blocks-accordion-header {
		min-height: 50px;

		padding: 13px 14px !important;

		font-size: 14px !important;
	}


	.sn-v6biz-faq__accordion
	.kt-accordion-panel-inner {
		padding: 15px 15px 17px !important;

		font-size: 13px;
	}

}

/* =========================================================
   v6Biz
   FINAL CTA
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.sn-v6biz-final-cta {
	position: relative;
	width: 100%;

	padding: 78px 24px;

	background:
		linear-gradient(
			110deg,
			#123b79 0%,
			#1554ad 52%,
			#1769ff 100%
		);

	box-sizing: border-box;

	overflow: hidden;
}


/* =========================================================
   INNER
========================================================= */

.sn-v6biz-final-cta__inner {
	position: relative;
	z-index: 1;

	width: 100%;
	max-width: 1200px;

	margin: 0 auto;
	padding: 0;

	background: transparent;

	box-sizing: border-box;
}


/* =========================================================
   CONTENT
========================================================= */

.sn-v6biz-final-cta__content {
	width: 100%;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-v6biz-final-cta__eyebrow {
	margin: 0 0 10px !important;
	padding: 0 !important;

	color: rgba(255, 255, 255, .82) !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: .14em;
	text-transform: uppercase;
}


/* =========================================================
   TITLE
========================================================= */

.sn-v6biz-final-cta__title {
	margin: 0 0 18px !important;
	padding: 0 !important;

	color: #ffffff !important;

	font-size: clamp(30px, 3vw, 42px) !important;
	font-weight: 700 !important;
	line-height: 1.35;

	letter-spacing: -.02em;
}


/* =========================================================
   TEXT
========================================================= */

.sn-v6biz-final-cta__text {
	width: 100%;
	max-width: 650px;

	margin: 0 !important;
	padding: 0 !important;

	color: rgba(255, 255, 255, .88) !important;

	font-size: 15px !important;
	font-weight: 400;
	line-height: 1.85;
}


/* =========================================================
   ACTIONS
========================================================= */

.sn-v6biz-final-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;

	width: 100%;
	max-width: 340px;

	margin-left: auto;

	gap: 14px;
}


/* =========================================================
   BUTTON WRAPPER RESET
========================================================= */

.sn-v6biz-final-cta__button {
	width: 100%;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;

	box-shadow: none !important;
}


/* =========================================================
   BUTTON COMMON
========================================================= */

/*
 * Kadence Button
 */

.sn-v6biz-final-cta__button .kt-button,
.sn-v6biz-final-cta__button .wp-block-button__link,
a.sn-v6biz-final-cta__button {
	display: flex !important;
	align-items: center;
	justify-content: space-between;

	width: 100%;
	min-height: 58px;

	padding: 15px 20px !important;

	border-radius: 7px !important;

	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	text-decoration: none !important;

	box-sizing: border-box;

	transition:
		transform .2s ease,
		box-shadow .2s ease,
		background .2s ease,
		color .2s ease;
}


/* =========================================================
   PRIMARY BUTTON
========================================================= */

.sn-v6biz-final-cta__button--primary .kt-button,
.sn-v6biz-final-cta__button--primary .wp-block-button__link,
a.sn-v6biz-final-cta__button--primary {
	background: #ffd34f !important;

	border: 1px solid #ffd34f !important;

	color: #102c52 !important;

	box-shadow:
		0 6px 18px
		rgba(0, 0, 0, .12) !important;
}


/* Primary Hover */

.sn-v6biz-final-cta__button--primary .kt-button:hover,
.sn-v6biz-final-cta__button--primary .wp-block-button__link:hover,
a.sn-v6biz-final-cta__button--primary:hover {
	background: #ffca26 !important;

	border-color: #ffca26 !important;

	color: #102c52 !important;

	transform: translateY(-2px);

	box-shadow:
		0 9px 22px
		rgba(0, 0, 0, .16) !important;
}


/* =========================================================
   SECONDARY BUTTON
========================================================= */

.sn-v6biz-final-cta__button--secondary .kt-button,
.sn-v6biz-final-cta__button--secondary .wp-block-button__link,
a.sn-v6biz-final-cta__button--secondary {
	background: #ffffff !important;

	border: 1px solid #ffffff !important;

	color: #1769ff !important;

	box-shadow:
		0 4px 14px
		rgba(0, 0, 0, .08) !important;
}


/* Secondary Hover */

.sn-v6biz-final-cta__button--secondary .kt-button:hover,
.sn-v6biz-final-cta__button--secondary .wp-block-button__link:hover,
a.sn-v6biz-final-cta__button--secondary:hover {
	background: #f3f7ff !important;

	border-color: #f3f7ff !important;

	color: #0f56d9 !important;

	transform: translateY(-2px);

	box-shadow:
		0 8px 20px
		rgba(0, 0, 0, .12) !important;
}


/* =========================================================
   KADENCE BUTTON ICON
========================================================= */

.sn-v6biz-final-cta__button .kt-btn-svg-icon {
	margin-left: 14px;
}


/* =========================================================
   OPTIONAL SUBTLE DECORATION
========================================================= */

.sn-v6biz-final-cta::before {
	content: "";

	position: absolute;

	top: -180px;
	right: -140px;

	width: 420px;
	height: 420px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, .09) 0%,
			rgba(255, 255, 255, 0) 70%
		);

	pointer-events: none;
}


.sn-v6biz-final-cta::after {
	content: "";

	position: absolute;

	bottom: -220px;
	left: -180px;

	width: 500px;
	height: 500px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, .05) 0%,
			rgba(255, 255, 255, 0) 70%
		);

	pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-v6biz-final-cta {
		padding: 68px 24px;
	}


	.sn-v6biz-final-cta__title {
		font-size: 34px !important;
	}


	.sn-v6biz-final-cta__text {
		font-size: 14px !important;
	}


	.sn-v6biz-final-cta__actions {
		max-width: 320px;
	}


	.sn-v6biz-final-cta__button .kt-button,
	.sn-v6biz-final-cta__button .wp-block-button__link,
	a.sn-v6biz-final-cta__button {
		min-height: 56px;

		font-size: 14px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-v6biz-final-cta {
		padding: 58px 20px;
	}


	.sn-v6biz-final-cta__eyebrow {
		margin-bottom: 8px !important;

		font-size: 11px !important;
	}


	.sn-v6biz-final-cta__title {
		margin-bottom: 16px !important;

		font-size: 28px !important;
		line-height: 1.4;
	}


	.sn-v6biz-final-cta__text {
		max-width: none;

		font-size: 14px !important;
		line-height: 1.8;
	}


	.sn-v6biz-final-cta__actions {
		width: 100%;
		max-width: none;

		margin: 30px 0 0;

		gap: 12px;
	}


	.sn-v6biz-final-cta__button .kt-button,
	.sn-v6biz-final-cta__button .wp-block-button__link,
	a.sn-v6biz-final-cta__button {
		min-height: 56px;

		padding: 14px 18px !important;

		font-size: 14px !important;
	}


	.sn-v6biz-final-cta::before {
		top: -120px;
		right: -180px;

		width: 340px;
		height: 340px;
	}


	.sn-v6biz-final-cta::after {
		display: none;
	}

}

/* =========================================================
   APPLICATION
   COMMON HERO
========================================================= */


/* =========================================================
   HERO SECTION
========================================================= */

.sn-application-hero {
	position: relative;
	width: 100%;

	padding: 0 24px;

	background:
		linear-gradient(
			90deg,
			#f8fbff 0%,
			#ffffff 46%,
			#f3f8ff 100%
		);

	box-sizing: border-box;

	overflow: hidden;
}


/* =========================================================
   HERO ROW
========================================================= */

.sn-application-hero__row {
	position: relative;

	width: 100%;
	max-width: 1440px;

	min-height: 540px;

	margin: 0 auto;

	box-sizing: border-box;
}


/*
 * Kadence Row Layout
 */

.sn-application-hero__row > .kt-row-column-wrap {
	align-items: stretch !important;
}


/* =========================================================
   CONTENT COLUMN
========================================================= */

.sn-application-hero__content {
	position: relative;
	z-index: 3;

	display: flex;
	flex-direction: column;
	justify-content: center;

	width: 100%;
	height: 100%;
	min-height: 540px;

	padding: 64px 24px 64px 0;

	box-sizing: border-box;
}


/* Gutenberg Group */

.sn-application-hero__content
> .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;

	width: 100%;
	height: 100%;
}


/* =========================================================
   EYEBROW
========================================================= */

.sn-application-hero__eyebrow {
	margin: 0 0 12px !important;
	padding: 0 !important;

	color: #1769ff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4;

	letter-spacing: .14em;
	text-transform: uppercase;
}


/* =========================================================
   TITLE
========================================================= */

.sn-application-hero__title {
	max-width: 620px;

	margin: 0 0 20px !important;
	padding: 0 !important;

	color: #102c52 !important;

	font-size: clamp(36px, 4vw, 52px) !important;
	font-weight: 700 !important;
	line-height: 1.24;

	letter-spacing: -.03em;
}


/* =========================================================
   LEAD
========================================================= */

.sn-application-hero__lead {
	width: 100%;
	max-width: 620px;

	margin: 0 !important;
	padding: 0 !important;

	color: #4f647d !important;

	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.9;

	letter-spacing: 0;
}


/* =========================================================
   VISUAL COLUMN
========================================================= */

.sn-application-hero__visual {
	position: relative;
	z-index: 1;

	width: 100%;
	height: 100%;
	min-height: 540px;

	overflow: hidden;
}


/*
 * Gutenberg Group
 */

.sn-application-hero__visual
> .wp-block-group__inner-container {
	width: 100%;
	height: 100%;
	min-height: 540px;
}


/* =========================================================
   HERO IMAGE
========================================================= */

.sn-application-hero__image {
	position: absolute;

	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	width: 100%;
	height: 100%;

	margin: 0 !important;

	object-fit: cover;
	object-position: center right;

	border: 0;
	border-radius: 0;

	box-shadow: none;
}


/*
 * Gutenberg Image block
 */

figure.sn-application-hero__image {
	width: 100%;
	height: 100%;

	margin: 0 !important;
}


figure.sn-application-hero__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center right;
}


/* =========================================================
   IMAGE LEFT FADE
========================================================= */

.sn-application-hero__visual::after {
	content: "";

	position: absolute;
	z-index: 2;

	top: 0;
	bottom: 0;
	left: 0;

	width: 26%;

	pointer-events: none;

	background:
		linear-gradient(
			90deg,
			#ffffff 0%,
			rgba(255, 255, 255, .94) 18%,
			rgba(255, 255, 255, .72) 42%,
			rgba(255, 255, 255, .36) 70%,
			rgba(255, 255, 255, 0) 100%
		);
}


/* =========================================================
   OPTIONAL SUBTLE DECORATION
========================================================= */

.sn-application-hero::before {
	content: "";

	position: absolute;

	top: -180px;
	left: -180px;

	width: 460px;
	height: 460px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(23, 105, 255, .06) 0%,
			rgba(23, 105, 255, 0) 72%
		);

	pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

	.sn-application-hero {
		padding: 0 24px;
	}


	.sn-application-hero__row {
		min-height: 480px;
	}


	.sn-application-hero__content {
		min-height: 480px;

		padding:
			54px
			16px
			54px
			0;
	}


	.sn-application-hero__visual {
		min-height: 480px;
	}


	.sn-application-hero__visual
	> .wp-block-group__inner-container {
		min-height: 480px;
	}


	.sn-application-hero__eyebrow {
		margin-bottom: 10px !important;

		font-size: 11px !important;
	}


	.sn-application-hero__title {
		max-width: 520px;

		margin-bottom: 18px !important;

		font-size: 40px !important;
	}


	.sn-application-hero__lead {
		max-width: 520px;

		font-size: 15px !important;
		line-height: 1.85;
	}


	.sn-application-hero__visual::after {
		width: 22%;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.sn-application-hero {
		padding: 0;

		background: #ffffff;
	}


	/*
	 * Kadence側でも1カラムに設定
	 */

	.sn-application-hero__row {
		min-height: 0;
	}


	.sn-application-hero__row
	> .kt-row-column-wrap {
		display: flex !important;
		flex-direction: column;

		padding: 0 !important;
	}


	/* ---------------------------------------------
	   CONTENT
	--------------------------------------------- */

	.sn-application-hero__content {
		min-height: 0;

		padding:
			48px
			20px
			34px;
	}


	.sn-application-hero__eyebrow {
		margin-bottom: 8px !important;

		font-size: 11px !important;

		letter-spacing: .12em;
	}


	.sn-application-hero__title {
		max-width: none;

		margin-bottom: 16px !important;

		font-size: 32px !important;
		line-height: 1.3;

		letter-spacing: -.02em;
	}


	.sn-application-hero__lead {
		max-width: none;

		font-size: 14px !important;
		line-height: 1.8;
	}


	/* ---------------------------------------------
	   VISUAL
	--------------------------------------------- */

	.sn-application-hero__visual {
		width: 100%;
		min-height: 260px;

		margin: 0;
	}


	.sn-application-hero__visual
	> .wp-block-group__inner-container {
		min-height: 260px;
	}


	.sn-application-hero__image {
		position: absolute;

		width: 100%;
		height: 100%;
	}


	figure.sn-application-hero__image,
	figure.sn-application-hero__image img {
		width: 100%;
		height: 100%;
	}


	figure.sn-application-hero__image img {
		object-position: 70% center;
	}


	/*
	 * スマホは左右カラムではないため
	 * 左フェードを解除
	 */

	.sn-application-hero__visual::after {
		display: none;
	}


	.sn-application-hero::before {
		display: none;
	}

}