/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 16 2026 | 04:59:08 */
/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 10 2026 | 06:41:36 */
/* ==========================================================================
   1. ページ全体の基本設定 & 強制上書き（PC・スマホ共通）
   ========================================================================== */
body.page-id-4319,
body.page-id-4319 .entry-content,
body.page-id-4319 p,
body.page-id-4319 span,
body.page-id-4319 li {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif !important;
}

body.page-id-4319 .entry-content p,
body.page-id-4319 .entry-content span,
body.page-id-4319 .siteContent p,
body.page-id-4319 .vk_post p {
	font-size: 20px !important;
	line-height: 1.9 !important;
}

.entry-content,
.siteContent,
.container {
	max-width: none !important;
}
#tabitomo-lp article.hyouka-tabitomo {
    padding-bottom: 5px;
    font-size: 12px !important;
    line-height: 1.5 !important;
}
#tabitomo-lp {
	width: 100% !important;
	max-width: none !important;
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif !important;
	font-size: 20px !important;
	line-height: 1.8 !important;
	color: #333 !important;
	background: #ECFEFF; /* --color-sky-light */
	-webkit-font-smoothing: antialiased;

	/* カラー・演出用の変数定義 */
	--color-main: #0F172A;
	--color-brand: #1E40AF;
	--color-sky: #06B6D4;
	--color-sky-light: #ECFEFF;
	--color-cta: #F97316;
	--color-cta-hover: #EA580C;
	--color-bg: #F8FAFC;
	--text-dark: #1E293B;
	--text-muted: #64748B;
	--font-base: 'Zen Maru Gothic', sans-serif;
	--font-accent: 'Plus Jakarta Sans', sans-serif;
	--radius-xl: 36px;
	--radius-lg: 24px;
	--radius-md: 18px;
	--shadow-sm: 0 4px 12px rgba(15, 23, 42, 0.03);
	--shadow-md: 0 12px 32px rgba(15, 23, 42, 0.06);
	--shadow-lg: 0 24px 60px rgba(15, 23, 42, 0.1);
	--shadow-cta: 0 12px 28px rgba(249, 115, 22, 0.35), inset 0 -4px 0px rgba(0, 0, 0, 0.2);

	/* 💡 画面全体に「極薄の爽やかな水色」の斜線を配置（100px四方の周期に拡大） */
	background-image: linear-gradient(
		45deg,
		rgba(90, 201, 248, 0.07) 25%,
		transparent 25%,
		transparent 50%,
		rgba(90, 201, 248, 0.07) 50%,
		rgba(90, 201, 248, 0.07) 75%,
		transparent 75%,
		transparent
	);
	background-size: 100px 100px;
	animation: moveLargeStripes 40s linear infinite;
}

@keyframes moveLargeStripes {
	0% { background-position: 0 0; }
	100% { background-position: 200px 100px; }
}

/* box-sizingの一括設定 */
#tabitomo-lp *,
#tabitomo-lp *:before,
#tabitomo-lp *:after {
	box-sizing: border-box;
}

/* 本文・リスト・ボタンの基本リセット */
#tabitomo-lp p,
#tabitomo-lp li,
#tabitomo-lp span {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
}
#tabitomo-lp p {
	font-size: 16px !important;
}
#tabitomo-lp ul,
#tabitomo-lp ol {
	margin: 20px 0 !important;
	padding-left: 0px !important;
}
#tabitomo-lp li {
	font-size: 16px !important;
	margin-bottom: 10px !important;
}
#tabitomo-lp a {
	text-decoration: none;
}

/* ==========================================================================
   2. 見出し（H1〜H3）テーマ装飾リセット & 強制上書き
   ========================================================================== */
#tabitomo-lp h1 {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	font-size: 56px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	margin-bottom: 30px !important;
}

#tabitomo-lp h2 {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	margin-bottom: 25px !important;
	padding: 0px !important;
	background-color: transparent !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
}

#tabitomo-lp h3 {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	margin-bottom: 20px !important;
	background-color: transparent !important;
	background: none !important;
	padding: 0px !important;
	border: none !important;
	box-shadow: none !important;
}

/* ==========================================================================
   3. レイアウト構造 & 各種コンポーネント（PC基準）
   ========================================================================== */
#tabitomo-lp .page-wrapper {
	width: 100%;
	max-width: 1080px;
	margin: 0px auto;
	background: #ffffff;
	box-shadow: var(--shadow-lg);
	border-radius: var(--radius-xl);
	overflow: hidden;
	position: relative;
}

/* HERO エリア背景画像（ゆっくり揺らすアニメーション） */
#tabitomo-lp .hero-bg-image {
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	height: 780px;
	background-image: url('https://kaigai-hoken.net/wp-content/uploads/4466134_l-scaled.jpg');
	background-size: cover;
	background-position: center;
	z-index: 1;
	transform: scale(1.1);
	animation: gentleWave 20s ease-in-out infinite;
}

@keyframes gentleWave {
	0% { transform: scale(1.1) translate(0, 0); }
	25% { transform: scale(1.12) translate(10px, -15px); }
	50% { transform: scale(1.1) translate(-15px, 10px) rotate(0.5deg); }
	75% { transform: scale(1.12) translate(10px, 15px); }
	100% { transform: scale(1.1) translate(0, 0); }
}

#tabitomo-lp .hero-bg-overlay {
	position: absolute;
	inset: 0;
}

/* 代理店運営ロゴエリア */
.agency-header-badge {
	position: relative;
	z-index: 3;
	padding: 16px 60px 0;
	text-align: left;
	margin-top: 20px;
}
#tabitomo-lp .agency-logo-text {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(4px);
	border: 1px solid #E2E8F0;
	padding: 8px 16px;
	border-radius: 8px;
	font-size: clamp(14px, 1vw, 16px);
	font-weight: 700;
	color: var(--text-dark);
	box-shadow: var(--shadow-sm);
}
#tabitomo-lp .agency-logo-text svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

/* HERO メインコンテンツ */
#tabitomo-lp .hero {
	position: relative;
	z-index: 3;
	padding: 40px 60px 40px;
	text-align: center;
}
#tabitomo-lp .hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ccedfb;
	color: #028896;
	padding: 10px 24px;
	border-radius: 999px;
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 20px;
	box-shadow: var(--shadow-sm);
	animation: pulse 2s infinite;
}
@keyframes pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.03); }
	100% { transform: scale(1); }
}

#tabitomo-lp .hero-title {
	font-size: 2.8rem;
	font-weight: 900;
	color: var(--color-main);
	line-height: 1.4;
	letter-spacing: -0.01em;
	margin-bottom: 24px;
}
#tabitomo-lp .hero-title span.highlight {
	position: relative;
	display: inline-block;
	font-size: 5rem !important;
	font-weight: 900;
	z-index: 1;
}
#tabitomo-lp .hero-title span.highlight::after {
	content: "";
	position: absolute;
	left: -2px;
	right: -2px;
	bottom: 0;
	height: 40%;
	background-color: #5ac9f8;
	border-radius: 999px;
	z-index: -1;
}

#tabitomo-lp .hero-sub {
	font-size: 1.15rem;
	color: var(--text-muted);
	max-width: 760px;
	margin: 0 auto 20px;
	font-weight: 700;
}

/* 緊急警告アラート */
#tabitomo-lp .urgent-alert-box {
	background: #FEF2F2;
	border: 2px dashed #EF4444;
	border-radius: var(--radius-md);
	padding: 16px 24px;
	max-width: 640px;
	margin: 0 auto 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: #991B1B;
	font-weight: 900;
	font-size: 1.1rem;
	box-shadow: var(--shadow-sm);
}

/* CTAエリア */
#tabitomo-lp .cta-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}
#tabitomo-lp .cta-features {
	display: flex;
	gap: 10px;
	margin-bottom: 4px;
}
#tabitomo-lp .cta-feature-tag {
	background: #fff;
	border: 1px solid rgba(6, 182, 212, 0.2);
	color: #0891B2;
	font-size: 1.5rem;
	font-weight: 900;
	padding: 4px 14px;
	border-radius: 999px;
}
#tabitomo-lp .btn-ultra-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: 540px;
	background: linear-gradient(135deg, #FFA34D 0%, var(--color-cta) 100%);
	color: #ffffff;
	font-size: 2rem;
	padding: 24px 36px;
	border-radius: 999px;
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif !important;
	font-weight: 900 !important;
	box-shadow: var(--shadow-cta);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	overflow: hidden;
}
#tabitomo-lp .btn-ultra-cta:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(249, 115, 22, 0.45), inset 0 -2px 0px rgba(0, 0, 0, 0.15);
	filter: brightness(1.06);
}
#tabitomo-lp .btn-ultra-cta .arrow-svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
	transition: transform 0.2s ease;
}
#tabitomo-lp .btn-ultra-cta:hover .arrow-svg {
	transform: translateX(6px);
}
#tabitomo-lp .cta-note {
	font-size: 1.3rem;
	color: var(--text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
	font-weight: 700;
	text-align: center;
	max-width: 540px;
	line-height: 1.5;
}
#tabitomo-lp .cta-note span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
#tabitomo-lp .cta-note .agency-note-highlight {
	color: var(--color-blue);
	font-size: 1.2rem;
	margin-top: 2px;
}

/* 「たびともとは？」セクション */
#tabitomo-lp .about-section {
	position: relative;
	z-index: 3;
	max-width: 860px;
	margin: 0 auto 40px;
	padding: 36px 40px;
	background: linear-gradient(135deg, #ffffff 0%, #d4fbff 100%);
	border: 1px solid rgba(226, 232, 240, 0.8);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	text-align: center;
	display: flex;
	gap: 24px;
	align-items: center;
}
#tabitomo-lp .about-image {
	width: 140px !important;
	height: 140px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	box-shadow: var(--shadow-sm) !important;
	flex-shrink: 0 !important;
}
#tabitomo-lp .about-content {
	text-align: left;
}
#tabitomo-lp .about-title {
	font-size: 26px !important;
	font-weight: 900 !important;
	color: var(--color-main) !important;
	margin-bottom: 12px !important;
	display: inline-block !important;
	position: relative !important;
}
#tabitomo-lp .about-title::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--color-sky);
	border-radius: 999px;
}
#tabitomo-lp .about-text {
	font-size: 1.05rem;
	color: var(--text-dark);
	font-weight: 700;
	word-break: break-all;
}

/* 一般セクション定義 */
#tabitomo-lp .section {
	position: relative;
	z-index: 3;
	padding: 80px 60px;
	border-top: 1px solid #F1F5F9;
}
#tabitomo-lp .section-title {
	font-size: 3rem;
	font-weight: 900 !important;
	color: var(--color-main);
	text-align: center;
	margin-bottom: 12px;
}
#tabitomo-lp .section-title-en {
	display: block;
	font-family: var(--font-accent);
	font-size: 1.5rem;
	color: var(--color-sky);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 800;
	margin-bottom: 6px;
	text-align: center;
}
#tabitomo-lp .section-lead {
	text-align: center;
	font-size: 1.05rem;
	color: var(--text-muted);
	max-width: 720px;
	margin: 0 auto 48px;
}

/* SEO対策：イラスト風インラインカード */
#tabitomo-lp .seo-inline-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	max-width: 900px;
	margin: 32px auto 0;
}
#tabitomo-lp .seo-link-card {
	display: flex;
	align-items: center;
	gap: 16px;
	background: #F1F5F9;
	border: 1px solid #E2E8F0;
	padding: 16px 20px;
	border-radius: var(--radius-md);
	text-decoration: none;
	color: var(--color-main);
	transition: all 0.2s ease;
}
#tabitomo-lp .seo-link-card:hover {
	background: var(--color-sky-light);
	border-color: var(--color-sky);
	transform: translateY(-2px);
	box-shadow: var(--shadow-sm);
}
#tabitomo-lp .seo-link-icon {
	width: 40px;
	height: 40px;
	background: #ffffff;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-sky);
	flex-shrink: 0;
	box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
#tabitomo-lp .seo-link-icon svg {
	width: 22px;
	height: 22px;
}
#tabitomo-lp .seo-link-text {
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1.4;
}
#tabitomo-lp .seo-link-arrow {
	margin-left: auto;
	color: var(--text-muted);
	display: flex;
	align-items: center;
}
#tabitomo-lp .seo-link-card:hover .seo-link-arrow {
	color: var(--color-sky);
}

/* なぜたびともなのか */
#tabitomo-lp .why-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 900px;
	margin: 0 auto;
}
#tabitomo-lp .why-card {
	background: linear-gradient(135deg, #ffffff 0%, #F8FAFC 100%);
	border-radius: var(--radius-md);
	padding: 28px;
	border: 1px solid #E2E8F0;
	box-shadow: var(--shadow-sm);
	display: flex;
	align-items: flex-start;
	gap: 18px;
}
#tabitomo-lp .why-icon {
	width: 54px;
	height: 54px;
	background: var(--color-sky-light);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-sky);
	flex-shrink: 0;
}
#tabitomo-lp .why-icon svg {
	width: 28px;
	height: 28px;
}
#tabitomo-lp .why-content h3 {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif !important;
	font-size: 1.15rem;
	font-weight: 900;
	color: var(--color-main);
	margin-bottom: 6px;
}
#tabitomo-lp .why-content p {
	font-size: 0.95rem;
	color: var(--text-muted);
	line-height: 1.6;
}

/* クレジットカードセクション用ビジュアル */
#tabitomo-lp .card-accent-image {
	width: 100%;
	max-width: 500px;
	height: 220px;
	object-fit: cover;
	border-radius: var(--radius-md);
	margin: 0 auto 24px;
	display: block;
	box-shadow: var(--shadow-md);
}

/* 比較表 */
#tabitomo-lp .table-wrapper {
	max-width: 900px;
	margin: 0 auto 20px;
	overflow-x: auto;
	border: 1px solid #E2E8F0;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	background: #ffffff;
}
#tabitomo-lp .plan-table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	min-width: 640px;
}
#tabitomo-lp .plan-table th, 
#tabitomo-lp .plan-table td {
	padding: 16px 12px;
	font-size: 1.4rem;
	border-bottom: 1px solid #E2E8F0;
}
#tabitomo-lp .plan-table th {
	background: #F1F5F9;
	color: var(--color-main);
	font-weight: 900;
}
#tabitomo-lp .plan-table th:first-child {
	text-align: left;
	padding-left: 24px;
	background: #ECEFF1;
}
#tabitomo-lp .plan-table td:first-child {
	text-align: left;
	padding-left: 24px;
	font-weight: 700;
	color: var(--color-main);
}
#tabitomo-lp .plan-table tr:last-child td {
	border-bottom: none;
}
#tabitomo-lp .plan-table tr:nth-child(even) {
	background: #F8FAFC;
}
#tabitomo-lp .col-highlight {
	background-color: rgba(6, 182, 212, 0.04) !important;
	font-weight: 700;
}
#tabitomo-lp th.col-highlight {
	background: #E0F7FA !important;
	color: #006064;
}
#tabitomo-lp .text-unlimited {
	color: #EF4444;
	font-weight: 900;
}


#tabitomo-lp .table-notes {
	max-width: 900px;
	margin: 0 auto;
	font-size: 1.2rem;
	color: var(--text-muted);
	line-height: 1.7;
}
/* USP GRID */
#tabitomo-lp .usp-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}
#tabitomo-lp .usp-card {
	background: #ffffff;
	border-radius: var(--radius-lg);
	padding: 36px;
	border: 1px solid #E2E8F0;
	box-shadow: var(--shadow-sm);
	transition: all 0.25s ease;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
#tabitomo-lp .usp-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-sky);
}
#tabitomo-lp .usp-icon-wrap {
	width: 64px;
	height: 64px;
	background: var(--color-sky-light);
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-sky);
}
#tabitomo-lp .usp-icon-wrap svg {
	width: 32px;
	height: 32px;
}
#tabitomo-lp .usp-card h3 {
	font-size: 1.25rem;
	font-weight: 900;
	color: var(--color-main);
}
#tabitomo-lp .usp-card p {
	font-size: 0.95rem;
	color: var(--text-muted);
}

/* 保険料例カード */
#tabitomo-lp .price-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 900px;
	margin: 0 auto 40px;
}
#tabitomo-lp .price-card {
	background: #ffffff;
	border-radius: var(--radius-md);
	padding: 24px 16px;
	text-align: center;
	border: 1px solid #E2E8F0;
	box-shadow: var(--shadow-sm);
}
#tabitomo-lp .price-card .destination {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.6rem !important;
	font-weight: 900 !important;
	color: var(--color-main) !important;
	margin-bottom: 4px !important;
}
#tabitomo-lp .price-card .days {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.5rem !important;
	color: var(--text-muted) !important;
	font-weight: 700 !important;
	margin-bottom: 12px !important;
}
#tabitomo-lp .price-card .price {
	font-family: var(--font-accent) !important;
	font-size: 3rem !important;
	font-weight: 800 !important;
	color: var(--color-cta) !important;
}
#tabitomo-lp .price-card .price span {
	font-family: var(--font-base);
	font-size: 2rem;
	font-weight: 700;
	color: var(--text-dark);
	margin-left: 2px;
}

/* BENEFITS */
#tabitomo-lp .benefit-showcase {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: 900px;
	margin: 0 auto 32px;
}
#tabitomo-lp .benefit-item {
	display: flex;
	align-items: center;
	gap: 20px;
	background: #ffffff;
	padding: 20px 24px;
	border-radius: var(--radius-md);
	border-left: 6px solid #EF4444;
	box-shadow: var(--shadow-sm);
}
#tabitomo-lp .benefit-check-icon {
	width: 32px;
	height: 32px;
	background: #FEE2E2;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #EF4444;
	box-shadow: var(--shadow-sm);
	flex-shrink: 0;
}
#tabitomo-lp .benefit-content h4 {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	font-size: 2rem !important;
	font-weight: 900 !important;
	color: var(--color-main) !important;
}
#tabitomo-lp .benefit-content p {
	font-size: 0.9rem;
	color: var(--text-muted);
}

/* 高額医療費・請求ケース */
#tabitomo-lp .case-box {
	background: #FFF7ED;
	border: 1px solid #FED7AA;
	border-radius: var(--radius-md);
	padding: 28px;
	margin: 24px auto 0;
	max-width: 900px;
}
#tabitomo-lp .case-box h4 {
	font-size: 1.15rem;
	color: #C2410C;
	font-weight: 900;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}
#tabitomo-lp .case-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
#tabitomo-lp .case-list li {
	background: #ffffff;
	padding: 16px;
	border-radius: 12px;
	border: 1px solid #FDBA74;
	font-weight: 700;
	font-size: 0.95rem;
	text-align: center;
}
#tabitomo-lp .case-list li span {
	display: block;
	color: #EA580C;
	font-size: 2rem;
	font-weight: 900;
	margin-top: 4px;
}

/* こんな方におすすめです */
#tabitomo-lp .target-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	max-width: 900px;
	margin: 0 auto;
}
#tabitomo-lp .target-card {
	background: #ffffff;
	border-radius: var(--radius-md);
	padding: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	box-shadow: var(--shadow-sm);
	border: 1px solid #E2E8F0;
}
#tabitomo-lp .target-icon {
	width: 48px;
	height: 48px;
	background: #EFF6FF;
	color: #3B82F6;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	flex-shrink: 0;
}
#tabitomo-lp .target-text {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-main);
}

/* ご利用シーン例 */
#tabitomo-lp .scene-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 960px;
	margin: 0 auto;
}
#tabitomo-lp .scene-card {
	background: #ffffff;
	border-radius: var(--radius-md);
	border: 1px solid #E2E8F0;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#tabitomo-lp .scene-img {
	width: 100%;
	height: 150px;
	object-fit: cover;
}
#tabitomo-lp .scene-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
}
#tabitomo-lp .scene-tag {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	align-self: flex-start;
	background: var(--color-sky-light);
	color: var(--color-sky);
	font-size: 1.5rem;
	font-weight: 900;
	padding: 4px 12px;
	border-radius: 6px;
	margin-bottom: 14px;
}
#tabitomo-lp .scene-text {
	font-size: 0.95rem;
	color: var(--text-dark);
	line-height: 1.7;
	margin-bottom: 20px;
	font-weight: 700;
}
#tabitomo-lp .scene-case {
	font-size: 1.2rem;
	color: var(--text-muted);
	font-weight: 700;
	border-top: 1px dashed #E2E8F0;
	padding-top: 12px;
}

/* お役立ちコラムセクション */
#tabitomo-lp .articles-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 900px;
	margin: 0 auto;
}
#tabitomo-lp .article-card {
	background: #ffffff;
	border-radius: var(--radius-md);
	border: 1px solid #E2E8F0;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: all 0.25s ease;
}
#tabitomo-lp .article-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-sky);
}
#tabitomo-lp .article-thumb {
	width: 100%;
	height: 160px;
	background-size: cover;
	background-position: center;
}
#tabitomo-lp .article-content {
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
}
#tabitomo-lp .article-title {
	font-size: 1rem;
	font-weight: 900;
	color: var(--color-main);
	line-height: 1.5;
	margin-bottom: 12px;
}
#tabitomo-lp .article-date {
	font-family: var(--font-accent);
	font-size: 1.2rem;
	color: var(--text-muted);
	font-weight: 800;
	background: #F1F5F9;
	padding: 2px 8px;
	border-radius: 4px;
	align-self: flex-start;
}

/* よくある質問 (FAQ) */
#tabitomo-lp .faq-box {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#tabitomo-lp .faq-item {
	background: #ffffff;
	border-radius: var(--radius-md);
	border: 1px solid #E2E8F0;
	overflow: hidden;
}
#tabitomo-lp .faq-question {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	padding: 22px 28px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.5rem;
	font-weight: 900;
	color: var(--color-main);
	user-select: none;
}
#tabitomo-lp .faq-question .q-badge {
	color: var(--color-sky);
	font-family: var(--font-accent);
	font-size: 2.4rem;
	font-weight: 800;
	margin-right: 12px;
}
#tabitomo-lp .faq-question .arrow-toggle {
	width: 24px;
	height: 24px;
	transition: transform 0.3s ease;
	color: var(--text-muted);
}
#tabitomo-lp .faq-answer {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	padding: 0 28px 24px 58px;
	font-size: 1.4rem;
	color: var(--text-muted);
	line-height: 1.7;
	font-weight: 700;
	display: none;
}
#tabitomo-lp .faq-item.active {
	border-color: var(--color-sky);
	box-shadow: var(--shadow-md);
}
#tabitomo-lp .faq-item.active .faq-answer {
	display: block;
}
#tabitomo-lp .faq-item.active .arrow-toggle {
	transform: rotate(180deg);
	color: var(--color-sky);
}

/* フッターコンポーネント設定 */
#tabitomo-lp .footer-banner {
	background: linear-gradient(135deg, #0399c6 0%, #01e9fa 100%);
	padding: 80px 40px 60px;
	text-align: center;
	color: #ffffff;
	position: relative;
	overflow: visible !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	min-height: 300px !important;
	z-index: 9999 !important;
}
#tabitomo-lp .footer-banner h2 {
	font-size: 2.2rem;
	font-weight: 900;
	margin-bottom: 16px;
	position: relative;
	z-index: 2;
	line-height: 1.4;
}
#tabitomo-lp .footer-banner p {
	font-size: 1.1rem;
	opacity: 0.9;
	margin-bottom: 32px;
	position: relative;
	z-index: 2;
}
#tabitomo-lp .footer-banner .cta-container {
	position: relative;
	z-index: 2;
	margin-bottom: 0;
}

/* フッター企業情報・規約エリア */
#tabitomo-lp .footer-corporate-info {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	background: #0F172A;
	color: #94A3B8;
	padding: 60px 40px;
	font-size: 1.3rem;
	border-top: 1px solid #1E293B;
	position: relative;
	z-index: 3;
}
#tabitomo-lp .footer-corporate-grid {
	max-width: 900px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	text-align: left;
}
#tabitomo-lp .fc-box h5 {
	color: #F8FAFC;
	font-size: 1.5rem;
	font-weight: 900;
	margin-bottom: 14px;
	border-left: 3px solid var(--color-sky);
	padding-left: 10px;
	line-height: 1.2;
}
#tabitomo-lp .fc-box p {
	line-height: 1.7;
	margin-bottom: 6px;
}
#tabitomo-lp .fc-box .highlight-text {
	color: #F1F5F9;
	font-weight: 700;
}
#tabitomo-lp .fc-box .link-description {
	display: block;
	font-size: 0.75rem;
	color: #64748B;
	margin-top: 2px;
}
#tabitomo-lp .footer-policy-links {
	max-width: 900px;
	margin: 40px auto 0;
	padding-top: 24px;
	border-top: 1px solid #1E293B;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 24px;
}
#tabitomo-lp .footer-policy-links a {
	color: #94A3B8;
	text-decoration: none;
	font-weight: 700;
	transition: color 0.2s ease;
}
#tabitomo-lp .footer-policy-links a:hover {
	color: #F8FAFC;
}
#tabitomo-lp .copyright-text {
	text-align: center;
	margin-top: 32px;
	font-size: 0.75rem;
	color: #475569;
}

/* ==========================================================================
   4. レスポンシブ設計：タブレット設計（960px以下）
   ========================================================================== */
@media (max-width: 960px) {
	#tabitomo-lp .benefit-showcase, 
	#tabitomo-lp .why-grid, 
	#tabitomo-lp .scene-grid, 
	#tabitomo-lp .articles-grid {
		grid-template-columns: 1fr;
	}
	#tabitomo-lp .case-list {
		grid-template-columns: 1fr;
	}
	#tabitomo-lp .about-section {
		flex-direction: column;
		text-align: center;
	}
	#tabitomo-lp .about-content {
		text-align: center;
	}
}

/* ==========================================================================
   5. レスポンシブ設計：スマホ設計（768px以下）
   ========================================================================== */
@media (max-width: 768px) {
	/* 💡 スマホ向けテキストサイズ指定の強制上書き */
	body.page-id-4319 #tabitomo-lp,
	body.page-id-4319 #tabitomo-lp p,
	body.page-id-4319 #tabitomo-lp span,
	body.page-id-4319 #tabitomo-lp li {
		font-size: 16px !important;
		line-height: 1.7 !important;
	}
	body.page-id-4319 #tabitomo-lp span {
		font-size: 16px !important;
		line-height: 1.2 !important;
	}
	
	/* 💡 スマホ向け見出しサイズ調整 */
	body.page-id-4319 #tabitomo-lp h2,
	body.page-id-4319 #tabitomo-lp .section-title {
		font-size: 22px !important;
	}
	body.page-id-4319 #tabitomo-lp h3 {
		font-size: 18px !important;
	}
	body.page-id-4319 #tabitomo-lp .hero-title {
		font-size: 24px !important;
		line-height: 1 !important;
	}

	/* 💡 各種構造・パーツのレイアウト最適化 */
	#tabitomo-lp .page-wrapper {
		margin: 0;
		border-radius: 0;
		box-shadow: none;
	}
	#tabitomo-lp .agency-header-badge {
		padding: 0px 10px 0;
		margin-top:6px;
	}
	#tabitomo-lp .hero {
		padding: 10px 20px 30px;
	}
	#tabitomo-lp .hero-sub {
		font-size: 1rem;
		margin-bottom: 10px;
	}
	#tabitomo-lp .urgent-alert-box {
		padding: 12px 16px;
		flex-direction: column;
		text-align: center;
		margin: 0 auto 10px;
	}
	#tabitomo-lp .cta-features {
		flex-wrap: wrap;
		justify-content: center;
	}
	#tabitomo-lp .cta-feature-tag {
		font-size: 0.9rem !important;
		padding: 6px 16px; 
	}
	#tabitomo-lp .hero-badge {
		padding: 10px 10px;
	}
	#tabitomo-lp .btn-ultra-cta {
		font-size: 2rem !important;
		padding: 18px 18px; 
	}
	#tabitomo-lp .about-section {
		padding: 24px;
		margin: 0 20px 30px;
	}
	#tabitomo-lp .section {
		padding: 60px 20px;
	}
	#tabitomo-lp .usp-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	#tabitomo-lp .usp-card {
		padding: 28px 24px;
	}
	#tabitomo-lp .price-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	#tabitomo-lp .target-grid {
		grid-template-columns: 1fr;
	}
	#tabitomo-lp .faq-question {
		padding: 18px 20px;
		font-size: 1.5rem;
	}
	#tabitomo-lp .faq-answer {
		padding: 0 20px 20px 44px;
		font-size: 1.5rem;
	}
	#tabitomo-lp .footer-banner h2 {
		font-size: 1.6rem;
	}
	#tabitomo-lp .footer-corporate-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	#tabitomo-lp .footer-corporate-info {
		padding: 40px 20px;
	}
	#tabitomo-lp .hero-badge {
		margin-bottom:10px;
	}	
	#tabitomo-lp h1 {
	font-family: "Zen Maru Gothic", "Plus Jakarta Sans", sans-serif !important;
	font-size: 50px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	margin-bottom: 10px !important;
}

	/* 💡 スマホ用背景画像の差し替えとアニメーション調整 */
	#tabitomo-lp .hero-bg-image {
		height: 680px;
		background-image: url('https://kaigai-hoken.net/wp-content/uploads/26324092_m.jpg') !important;
		background-position: center center !important;
		animation: gentleWaveMobile 15s ease-in-out infinite !important;
	}

	/* 💡 スマホ専用揺れアニメーション（揺れ幅制限版） */
	@keyframes gentleWaveMobile {
		0% { transform: scale(1.1) translate(0, 0); }
		50% { transform: scale(1.15) translate(-5px, 5px) rotate(0.2deg); }
		100% { transform: scale(1.1) translate(0, 0); }
	}
    #tabitomo-lp article.hyouka-tabitomo {
        font-size: 12px !important;
        line-height: 1.2 !important;
    }
}
}

/* ==========================================================================
   6. レスポンシブ設計：最小スマホ設計（480px以下）
   ========================================================================== */
@media (max-width: 480px) {
	#tabitomo-lp .price-grid {
		grid-template-columns: 1fr !important;
	}
}
