@charset "UTF-8";
/* v1.0 | 20080212 */

/* ================================================
 * 基本設定 (Base Styles)
 * ================================================ */
:root{
	--color-primary: #005DB4;
	--color-secondary: #FFFFFF;
	--color-accent: #FF8331;
	--color-black: #000000;
	--color-white: #FFFFFF;
	--color-dark: #4A4A4A;
	--color-light: #F0F4F8;
	--color-beige: #F0F4F8; /* beigeをlightで上書き */
	--color-gray: #888888;
}
*,*::before,*::after{
	box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
html{
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: 85px;
}
body{
	font-size: 1.6rem;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "M PLUS Rounded 1c", "sans-serif";
	margin: 0;
	line-height: 1.7;
	background-color: #FDFBFC;
	background-attachment: fixed;
	color: var(--color-dark);
}
body.no-scroll{
	overflow: hidden;
}
ul, ol{
	list-style: none;
}
blockquote, q{
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after{
	content: ''; content: none;
}
:focus{
	outline: 0;
}
ins{
	text-decoration: none;
}
del{
	text-decoration: line-through;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
a{
	color: inherit;
	text-decoration: none;
}
a:hover{
	opacity: 0.8;
	transition: opacity 0.3s;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
/* ================================================
 * 共通ユーティリティ (Utilities)
 * ================================================ */
/* Clearfix & Position */
.cl{
	clear: both;
}
.positionr{
	position: relative;
}
.positiona{
	position: absolute;
}
/* Responsive Display */
.pc{
	display: block !important;
}
@media (max-width: 768px){
	.pc{
		display: none !important;
	}
}
.mb{
	display: none !important;
}
@media (max-width: 768px){
	.mb{
		display: block !important;
	}
}
/* Margin & Padding */
.m-0{margin:0!important}.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mr-0{margin-right:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-10{margin:1rem!important}.mt-10{margin-top:1rem!important}.mb-10{margin-bottom:1rem!important}.ml-10{margin-left:1rem!important}.mr-10{margin-right:1rem!important}.mx-10{margin-left:1rem!important;margin-right:1rem!important}.my-10{margin-top:1rem!important;margin-bottom:1rem!important}.m-20{margin:2rem!important}.mt-20{margin-top:2rem!important}.mb-20{margin-bottom:2rem!important}.ml-20{margin-left:2rem!important}.mr-20{margin-right:2rem!important}.mx-20{margin-left:2rem!important;margin-right:2rem!important}.my-20{margin-top:2rem!important;margin-bottom:2rem!important}.m-40{margin:4rem!important}.mt-40{margin-top:4rem!important}.mb-40{margin-bottom:4rem!important}.ml-40{margin-left:4rem!important}.mr-40{margin-right:4rem!important}.mx-40{margin-left:4rem!important;margin-right:4rem!important}.my-40{margin-top:4rem!important;margin-bottom:4rem!important}.m-60{margin:6rem!important}.mt-60{margin-top:6rem!important}.mb-60{margin-bottom:6rem!important}.ml-60{margin-left:6rem!important}.mr-60{margin-right:6rem!important}.mx-60{margin-left:6rem!important;margin-right:6rem!important}.my-60{margin-top:6rem!important;margin-bottom:6rem!important}.m-80{margin:8rem!important}.mt-80{margin-top:8rem!important}.mb-80{margin-bottom:8rem!important}.ml-80{margin-left:8rem!important}.mr-80{margin-right:8rem!important}.mx-80{margin-left:8rem!important;margin-right:8rem!important}.my-80{margin-top:8rem!important;margin-bottom:8rem!important}.m-100{margin:10rem!important}.mt-100{margin-top:10rem!important}.mb-100{margin-bottom:10rem!important}.ml-100{margin-left:10rem!important}.mr-100{margin-right:10rem!important}.mx-100{margin-left:10rem!important;margin-right:10rem!important}.my-100{margin-top:10rem!important;margin-bottom:10rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.m-0auto{margin:0 auto!important}
.p-0{padding:0!important}.pt-0{padding-top:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.pr-0{padding-right:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-10{padding:1rem!important}.pt-10{padding-top:1rem!important}.pb-10{padding-bottom:1rem!important}.pl-10{padding-left:1rem!important}.pr-10{padding-right:1rem!important}.px-10{padding-left:1rem!important;padding-right:1rem!important}.py-10{padding-top:1rem!important;padding-bottom:1rem!important}.p-20{padding:2rem!important}.pt-20{padding-top:2rem!important}.pb-20{padding-bottom:2rem!important}.pl-20{padding-left:2rem!important}.pr-20{padding-right:2rem!important}.px-20{padding-left:2rem!important;padding-right:2rem!important}.py-20{padding-top:2rem!important;padding-bottom:2rem!important}.p-40{padding:4rem!important}.pt-40{padding-top:4rem!important}.pb-40{padding-bottom:4rem!important}.pl-40{padding-left:4rem!important}.pr-40{padding-right:4rem!important}.px-40{padding-left:4rem!important;padding-right:4rem!important}.py-40{padding-top:4rem!important;padding-bottom:4rem!important}.p-60{padding:6rem!important}.pt-60{padding-top:6rem!important}.pb-60{padding-bottom:6rem!important}.pl-60{padding-left:6rem!important}.pr-60{padding-right:6rem!important}.px-60{padding-left:6rem!important;padding-right:6rem!important}.py-60{padding-top:6rem!important;padding-bottom:6rem!important}.p-80{padding:8rem!important}.pt-80{padding-top:8rem!important}.pb-80{padding-bottom:8rem!important}.pl-80{padding-left:8rem!important}.pr-80{padding-right:8rem!important}.px-80{padding-left:8rem!important;padding-right:8rem!important}.py-80{padding-top:8rem!important;padding-bottom:8rem!important}.p-100{padding:10rem!important}.pt-100{padding-top:10rem!important}.pb-100{padding-bottom:10rem!important}.pl-100{padding-left:10rem!important}.pr-100{padding-right:10rem!important}.px-100{padding-left:10rem!important;padding-right:10rem!important}.py-100{padding-top:10rem!important;padding-bottom:10rem!important}
@media (max-width: 768px){.m-40{margin:3rem!important}.mt-40{margin-top:3rem!important}.mb-40{margin-bottom:3rem!important}.ml-40{margin-left:3rem!important}.mr-40{margin-right:3rem!important}.mx-40{margin-left:3rem!important;margin-right:3rem!important}.my-40{margin-top:3rem!important;margin-bottom:3rem!important}.m-60{margin:4.5rem!important}.mt-60{margin-top:4.5rem!important}.mb-60{margin-bottom:4.5rem!important}.ml-60{margin-left:4.5rem!important}.mr-60{margin-right:4.5rem!important}.mx-60{margin-left:4.5rem!important;margin-right:4.5rem!important}.my-60{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.m-80{margin:6rem!important}.mt-80{margin-top:6rem!important}.mb-80{margin-bottom:6rem!important}.ml-80{margin-left:6rem!important}.mr-80{margin-right:6rem!important}.mx-80{margin-left:6rem!important;margin-right:6rem!important}.my-80{margin-top:6rem!important;margin-bottom:6rem!important}.m-100{margin:8rem!important}.mt-100{margin-top:8rem!important}.mb-100{margin-bottom:8rem!important}.ml-100{margin-left:8rem!important}.mr-100{margin-right:8rem!important}.mx-100{margin-left:8rem!important;margin-right:8rem!important}.my-100{margin-top:8rem!important;margin-bottom:8rem!important}.p-40{padding:3rem!important}.pt-40{padding-top:3rem!important}.pb-40{padding-bottom:3rem!important}.pl-40{padding-left:3rem!important}.pr-40{padding-right:3rem!important}.px-40{padding-left:3rem!important;padding-right:3rem!important}.py-40{padding-top:3rem!important;padding-bottom:3rem!important}.p-60{padding:4.5rem!important}.pt-60{padding-top:4.5rem!important}.pb-60{padding-bottom:4.5rem!important}.pl-60{padding-left:4.5rem!important}.pr-60{padding-right:4.5rem!important}.px-60{padding-left:4.5rem!important;padding-right:4.5rem!important}.py-60{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.p-80{padding:6rem!important}.pt-80{padding-top:6rem!important}.pb-80{padding-bottom:6rem!important}.pl-80{padding-left:6rem!important}.pr-80{padding-right:6rem!important}.px-80{padding-left:6rem!important;padding-right:6rem!important}.py-80{padding-top:6rem!important;padding-bottom:6rem!important}.p-100{padding:8rem!important}.pt-100{padding-top:8rem!important}.pb-100{padding-bottom:8rem!important}.pl-100{padding-left:8rem!important}.pr-100{padding-right:8rem!important}.px-100{padding-left:8rem!important;padding-right:8rem!important}.py-100{padding-top:8rem!important;padding-bottom:8rem!important}}
@media (max-width: 530px){.m-40{margin:2rem!important}.mt-40{margin-top:2rem!important}.mb-40{margin-bottom:2rem!important}.ml-40{margin-left:2rem!important}.mr-40{margin-right:2rem!important}.mx-40{margin-left:2rem!important;margin-right:2rem!important}.my-40{margin-top:2rem!important;margin-bottom:2rem!important}.m-60{margin:3rem!important}.mt-60{margin-top:3rem!important}.mb-60{margin-bottom:3rem!important}.ml-60{margin-left:3rem!important}.mr-60{margin-right:3rem!important}.mx-60{margin-left:3rem!important;margin-right:3rem!important}.my-60{margin-top:3rem!important;margin-bottom:3rem!important}.m-80{margin:4rem!important}.mt-80{margin-top:4rem!important}.mb-80{margin-bottom:4rem!important}.ml-80{margin-left:4rem!important}.mr-80{margin-right:4rem!important}.mx-80{margin-left:4rem!important;margin-right:4rem!important}.my-80{margin-top:4rem!important;margin-bottom:4rem!important}.m-100{margin:6rem!important}.mt-100{margin-top:6rem!important}.mb-100{margin-bottom:6rem!important}.ml-100{margin-left:6rem!important}.mr-100{margin-right:6rem!important}.mx-100{margin-left:6rem!important;margin-right:6rem!important}.my-100{margin-top:6rem!important;margin-bottom:6rem!important}.p-40{padding:2rem!important}.pt-40{padding-top:2rem!important}.pb-40{padding-bottom:2rem!important}.pl-40{padding-left:2rem!important}.pr-40{padding-right:2rem!important}.px-40{padding-left:2rem!important;padding-right:2rem!important}.py-40{padding-top:2rem!important;padding-bottom:2rem!important}.p-60{padding:3rem!important}.pt-60{padding-top:3rem!important}.pb-60{padding-bottom:3rem!important}.pl-60{padding-left:3rem!important}.pr-60{padding-right:3rem!important}.px-60{padding-left:3rem!important;padding-right:3rem!important}.py-60{padding-top:3rem!important;padding-bottom:3rem!important}.p-80{padding:4rem!important}.pt-80{padding-top:4rem!important}.pb-80{padding-bottom:4rem!important}.pl-80{padding-left:4rem!important}.pr-80{padding-right:4rem!important}.px-80{padding-left:4rem!important;padding-right:4rem!important}.py-80{padding-top:4rem!important;padding-bottom:4rem!important}.p-100{padding:6rem!important}.pt-100{padding-top:6rem!important}.pb-100{padding-bottom:6rem!important}.pl-100{padding-left:6rem!important}.pr-100{padding-right:6rem!important}.px-100{padding-left:6rem!important;padding-right:6rem!important}.py-100{padding-top:6rem!important;padding-bottom:6rem!important}}

/* Font Size */
.f12{font-size:12px}.f14{font-size:14px}.f16{font-size:16px}.f18{font-size:18px}.f20{font-size:20px}.f22{font-size:22px}.f24{font-size:24px}.f26{font-size:26px}.f28{font-size:28px}.f30{font-size:30px}.f32{font-size:32px}.f34{font-size:34px}.f36{font-size:36px}.f38{font-size:38px}.f40{font-size:40px}
@media (max-width: 768px){.f24{font-size:22px}.f26{font-size:24px}.f28{font-size:26px}.f30{font-size:28px}.f32{font-size:30px}.f34{font-size:32px}.f36{font-size:32px}.f38{font-size:34px}.f40{font-size:36px}}
@media (max-width: 530px){.f16{font-size:14px}.f18{font-size:16px}.f20{font-size:16px}.f22{font-size:18px}.f26{font-size:20px}.f28{font-size:22px}.f30{font-size:24px}.f32{font-size:26px}.f34{font-size:26px}.f36{font-size:28px}.f38{font-size:28px}.f40{font-size:30px}}
@media (max-width: 375px){.f14{font-size:12px}.f16{font-size:12px}.f18{font-size:14px}.f20{font-size:14px}.f22{font-size:16px}.f24{font-size:18px}.f26{font-size:18px}.f28{font-size:20px}.f30{font-size:20px}.f32{font-size:22px}.f36{font-size:24px}.f38{font-size:24px}.f40{font-size:26px}}

/* Font Styles & Colors */
.txt_left{text-align:left}.txt_center{text-align:center}.txt_right{text-align:right}
.fwb{font-weight:bold}.fwn{font-weight:normal}
.txt_primary{color:var(--color-primary)!important}.txt_secondary{color:var(--color-secondary)!important}.txt_accent{color:var(--color-accent)!important}.txt_black{color:var(--color-black)!important}.txt_white{color:var(--color-white)!important}.txt_dark{color:var(--color-dark)!important}.txt_light{color:var(--color-light)!important}.txt_beige{color:var(--color-beige)!important}.txt_gray{color:var(--color-gray)!important}
.bg_primary{
	background-color:var(--color-primary)!important
}
.bg_secondary{
	background-color:var(--color-secondary)!important
}
.bg_accent{
	background-color:var(--color-accent)!important
}
.bg_black{
	background-color:var(--color-black)!important
}
.bg_white{
	background-color:var(--color-white)!important
}
.bg_dark{
	background-color:var(--color-dark)!important
}
.bg_light{
	background-color:var(--color-light)!important
}
.bg_beige{
	background-color:var(--color-beige)!important
}
.bg_gray{
	background-color:var(--color-gray)!important
}
.bg_archive{
	background-image:url('../img/archive_top.jpg');
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat
}
/* Flexbox */
.d-flex{
	display:flex!important
}
.flex-row{
	flex-direction:row!important
}
.flex-column{
	flex-direction:column!important
}
.flex-row-reverse{
	flex-direction:row-reverse!important
}
.flex-column-reverse{
	flex-direction:column-reverse!important
}
.justify-start{
	justify-content:flex-start!important
}
.justify-end{
	justify-content:flex-end!important
}
.justify-center{
	justify-content:center!important
}
.justify-between{
	justify-content:space-between!important
}
.justify-around{
	justify-content:space-around!important
}
.justify-evenly{
	justify-content:space-evenly!important
}
.align-start{
	align-items:flex-start!important
}
.align-end{
	align-items:flex-end!important
}
.align-center{
	align-items:center!important
}
.align-baseline{
	align-items:baseline!important
}
.align-stretch{
	align-items:stretch!important
}
.flex-wrap{
	flex-wrap:wrap!important
}
.flex-nowrap{
	flex-wrap:nowrap!important
}
.flex-wrap-reverse{
	flex-wrap:wrap-reverse!important
}
.gap-10{
	gap:10px!important
}
.gap-20{
	gap:20px!important
}
.gap-30{
	gap:30px!important
}
.gap-40{
	gap:40px!important
}
@media (max-width: 768px){
	.mb-d-flex{
		display:flex!important
	}
	.mb-flex-column{
		flex-direction:column!important
	}
}
/* Layout & Sizing */
.container { max-width: 1200px; }
.w-100{
	width:100%!important
}
.w-75{
	width:75%!important
}
.w-50{
	width:50%!important
}
.w-25{
	width:25%!important
}
.max-w-100{
	max-width:100%!important
}
.h-100{
	height:100%!important
}
.min-vh-100{
	min-height:100vh!important
}
.d-block{
	display:block!important
}
.d-inline{
	display:inline!important
}
.d-inline-block{
	display:inline-block!important
}
.d-none{
	display:none!important
}
.overflow-hidden{
	overflow:hidden!important
}
.overflow-auto{
	overflow:auto!important
}
/* Border */
.border{
	border:1px solid #ddd!important
}
.border-top{
	border-top:1px solid #ddd!important
}
.border-bottom{
	border-bottom:1px solid #ddd!important
}
.border-0{
	border:0!important
}
.rounded{
	border-radius:.25rem!important
}
.rounded-pill{
	border-radius:50rem!important
}
.rounded-circle{
	border-radius:50%!important
}
/* ================================================
 * コンポーネント (Components)
 * ================================================ */
/* Header */
.site-logo__image {
	height: 40px; /* PCでの画像の高さ */
	width: auto;
}

@media (max-width: 768px) {
	.site-logo__image {
		height: 32px; /* スマホでの画像の高さ */
	}
	.site-logo__text {
		font-size: 20px !important; /* スマホでのサイトタイトルの文字サイズ */
	}
}
.site-header{
	box-shadow: 0 2px 10px rgba(100, 120, 140, 0.1);
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.global-nav ul li a{
	position: relative;
	padding: 5px 0;
	color: var(--color-dark) !important;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.global-nav ul li a::after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background-color: var(--color-accent) !important;
	transition: width 0.3s ease;
}
.global-nav ul li a:hover::after, .global-nav .current-menu-item a::after{
	width: 100%;
}
.hamburger-menu{
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	width: 30px;
	height: 21px;
	position: relative;
	z-index: 110;
}
.hamburger-menu span{
	display: block;
	width: 100%;
	height: 3px;
	background-color: var(--color-dark) !important;
	position: absolute;
	left: 0;
	transition: all 0.3s ease;
}
.hamburger-menu span:nth-child(1){
	top: 0;
}
.hamburger-menu span:nth-child(2){
	top: 9px;
}
.hamburger-menu span:nth-child(3){
	bottom: 0;
}
.hamburger-menu.is-active span:nth-child(1){
	top: 9px;
	transform: rotate(45deg);
}
.hamburger-menu.is-active span:nth-child(2){
	opacity: 0;
}
.hamburger-menu.is-active span:nth-child(3){
	top: 9px;
	transform: rotate(-45deg);
}
@media (max-width: 900px) {
	.global-nav{
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: rgba(255, 255, 255, 0.98);
	}
	.global-nav.is-active{
		display: block;
	}
	.global-nav ul{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100%;
		gap: 20px;
	}
	.global-nav ul li a{
		font-size: 18px;
	}
	.hamburger-menu{
		display: block;
	}
}
/* Post List & Cards */
.post-list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.post-list.-archive{
	grid-template-columns: repeat(3, 1fr);
}
.post-card{
	background-color: var(--color-white) !important;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(100, 120, 140, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.post-card:hover{
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(100, 120, 140, 0.1);
}
.post-card a{
	display: block;
	text-decoration: none;
	color: inherit;
}
.post-card:hover .card-thumbnail img{
	transform: scale(1.05);
}
.card-thumbnail{
	width: 100%;
	aspect-ratio: auto;
	overflow: hidden;
}
.card-thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.card-category{
	padding: 4px 10px;
	border-radius: 4px;
	background-color: var(--color-light) !important;
	color: var(--color-dark) !important;
}
@media (max-width: 900px) {
	.post-list, .post-list.-archive{
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
}
/* Category Card */
.category-card-list{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
}
.category-card{
	display: block;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(100, 120, 140, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.category-card:hover{
	opacity: 1;
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(100, 120, 140, 0.15);
}
.category-card__image{
	width: 100%;
	padding-top: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.4s ease;
}
.category-card:hover .category-card__image{
	transform: scale(1.05);
}
.category-card__overlay{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 20px 10px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
	text-align: center;
}
.category-card__name{
	color: var(--color-white);
	font-size: 1.8rem;
	font-weight: 700;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}
@media (max-width: 768px){
	.category-card-list{
		gap: 15px;
	}
	.category-card__name{
		font-size: 1.6rem;
	}
}
@media (max-width: 530px){
	.category-card-list{
		grid-template-columns: repeat(2, 1fr);
	}
}
/* Buttons */
.button-link{
	background-color: var(--color-white) !important;
	border: 2px solid var(--color-accent) !important;
	color: var(--color-dark) !important;
	border-radius: 50px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 10px rgba(100, 120, 140, 0.1);
}
.button-link:hover{
	background-color: var(--color-accent) !important;
	border-color: var(--color-accent) !important;
	color: var(--color-white) !important;
	transform: translateY(-3px);
	box-shadow: 0 6px 15px rgba(100, 120, 140, 0.1);
	opacity: 1;
}
.btn-more{
	background-color: var(--color-primary) !important;
	color: var(--color-white) !important;
	border: 2px solid var(--color-primary) !important;
	border-radius: 50px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(243, 101, 134, 0.1);
}
.btn-more:hover{
	background-color: var(--color-white) !important;
	color: var(--color-primary) !important;
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(243, 101, 134, 0.1);
	opacity: 1;
}
/* Pagination */
.pagination { display: flex; justify-content: center; margin-top: 60px; }
.page-numbers{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 40px;
	height: 40px;
	margin: 0 5px;
	padding: 0 10px;
	border: 2px solid var(--color-accent) !important;
	border-radius: 50px;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--color-dark) !important;
	background-color: var(--color-white) !important;
	transition: all 0.3s ease;
}
.page-numbers:hover{
	background-color: var(--color-accent) !important;
	color: var(--color-white) !important;
	border-color: var(--color-accent) !important;
	opacity: 1;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.page-numbers.current{
	background-color: var(--color-primary) !important;
	border-color: var(--color-primary) !important;
	color: var(--color-white) !important;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}
.page-numbers.dots{
	border: none;
	background-color: transparent;
	box-shadow: none;
	transform: none;
}
.page-numbers.prev, .page-numbers.next{
	font-size: 2rem;
}
@media (max-width: 768px){
	.page-numbers{
		min-width: 36px;
		height: 36px;
		font-size: 1.4rem;
		margin: 0 3px;
	}
}
/* Page Navigation */
#page-nav-wrapper{
	position: relative;
	z-index: 50;
	height: 60px;
}
#page-nav{
	width: 100%;
	background-color: #FDFBFC;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: all 0.3s ease;
}
#page-nav.is-sticky{
	position: fixed;
	top: 85px;
	left: 0;
	right: 0;
	border-top: 1px solid #E5E9ED;
}
@media (max-width: 768px){
	#page-nav.is-sticky{
		top: 67px;
	}
}
.page-local-nav__list{
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
	touch-action: pan-x;
	user-select: none;
}
.page-local-nav__list:active{
	cursor: grabbing;
}
.page-local-nav__list::-webkit-scrollbar{
	display: none;
}
.page-local-nav__item{
	flex-shrink: 0;
}
.page-local-nav__link{
	display: block;
	position: relative;
	padding: 20px 15px;
	white-space: nowrap;
	color: var(--color-gray);
	font-weight: 700;
	transition: color 0.3s ease;
}
.page-local-nav__link::after{
	content: '';
	position: absolute;
	bottom: 10px;
	left: 15px;
	width: 0;
	height: 3px;
	background-color: var(--color-accent);
	border-radius: 1.5px;
	transition: width 0.3s ease;
}
.page-local-nav__link:hover, .page-local-nav__link.is-active{
	color: var(--color-primary);
	opacity: 1;
}
.page-local-nav__link:hover::after, .page-local-nav__link.is-active::after{
	width: calc(100% - 30px);
}
/* Others */
.label{
	position: relative;
}
.label::before{
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 100%;
	background-color: var(--color-accent) !important;
	border-radius: 2px;
}
.wpcf7-spinner{
	display: none !important;
}
/* Animation */
.show{
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.6s ease;
}
.show.is-visible{
	opacity: 1;
	transform: translateY(0);
}
/* ================================================
 * 投稿・固定ページ コンテンツ (post-content)
 * ================================================ */
.post-content{
	line-height: 1.8;
	font-size: 1.6rem;
}
.post-content p{
	margin-bottom: 1.8em;
}
.post-content a{
	color: var(--color-primary) !important;
	text-decoration: none;
	border-bottom: 1px dotted var(--color-primary);
}
.post-content a:hover{
	opacity: 0.8;
	border-bottom-style: solid;
}
.post-content strong{
	font-weight: 700;
	color: var(--color-dark) !important;
}
.post-content h2{
	font-size: 2.4rem;
	font-weight: 700;
	margin: 60px 0 25px;
	padding: 10px 20px;
	background-color: var(--color-light);
	border-left: 5px solid var(--color-accent) !important;
}
.post-content h3{
	font-size: 2rem;
	font-weight: 700;
	margin: 40px 0 20px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--color-light);
}
.post-content h4{
	font-size: 1.8rem;
	font-weight: 700;
	margin: 30px 0 15px;
}
.post-content ul{
	margin-bottom: 1.8em;
	padding-left: 1.5em;
}
.post-content ul li{
	list-style: none;
	position: relative;
	padding-left: 1.2em;
	margin-bottom: 0.8em;
}
.post-content ul li::before{
	content: ' ';
	position: absolute;
	left: 0; top: 0.4em;
	width: 0.6em;
	height: 0.6em;
	background-color: var(--color-accent);
	border-radius: 50%;
}
.post-content ol{
	margin-bottom: 1.8em;
	padding-left: 1.5em;
}
.post-content ol li{
	list-style-type: decimal;
	margin-bottom: 0.8em;
	padding-left: 0.5em;
}
.post-content blockquote{
	margin: 30px 0;
	padding: 20px 25px;
	background-color: var(--color-light);
	border-left: 5px solid var(--color-accent);
}
.post-content blockquote p{
	margin-bottom: 1em;
}
.post-content blockquote p:last-child{
	margin-bottom: 0;
}
.post-content blockquote cite{
	display: block;
	margin-top: 1em;
	font-size: 0.9em;
	color: var(--color-gray);
	text-align: right;
}
.post-content .aligncenter{
	text-align: center;
}
.post-content img{
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(100, 120, 140, 0.1);
}
@media (max-width: 768px) {
	.post-content { font-size: 1.5rem; }
	.post-content h2 { font-size: 2.2rem; }
	.post-content h3 { font-size: 1.9rem; }
}
/* ================================================
 * サイトトップページ（index)
 * ================================================ */
/* ヒーローセクション */
.hero-section{
	position: relative;
}
.hero-section .swiper-slide img{
	filter: brightness(0.6);
}
.hero-caption{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	color: var(--color-white);
	text-align: center; width: 90%;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}
.hero-caption .main-copy{
	font-size: 4.6rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .08em;
}
.hero-caption .sub-copy{
	font-size: 1.8rem;
	margin-top: 1rem;
}
/* 共通セクションタイトル */
.section-title{
	text-align: center;
	margin-bottom: 60px;
}
.section-title .en{
	display: block;
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--color-primary);
	letter-spacing: .1em;
}
.section-title .ja{
	display: block;
	font-size: 1.6rem;
	margin-top: 0.5em;
	letter-spacing: .1em;
	color: var(--color-gray);
}
/* 事業内容セクション */
.service-container{
	background-color: var(--color-white);
	border-radius: 16px;
	padding: 50px;
	box-shadow: 0 8px 30px rgba(100, 120, 140, 0.1);
}
.service-main-content{
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 60px;
}
.service-main-image{
	margin: 0 auto;
	flex-shrink: 0;
}
.service-main-image img{
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(100, 120, 140, 0.1);
}
.service-main-text{
	width: 45%;
}
.service-catchphrase{
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.6;
	color: var(--color-primary);
	margin-bottom: 20px;
}
.service-description{
	font-size: 1.6rem;
	line-height: 1.8;
}

/* 技術紹介 */
.service-features-title{
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 40px;
	position: relative;
	padding-bottom: 15px;
}
.service-features-title::after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background-color: var(--color-accent);
	border-radius: 2px;
}

.service-feature-list{
	display: grid;
	/* PCでは4カラム表示 */
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}
.service-feature-item{
	text-align: center;
}
.service-feature-item__image{
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: var(--color-white);
	border-radius: 50%; /* 円形にする */
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin: 0 auto 15px;
	box-shadow: 0 4px 12px rgba(100, 120, 140, 0.08);
	transition: transform 0.3s, box-shadow 0.3s;
}
.service-feature-item__image:hover{
	transform: scale(1.05);
	box-shadow: 0 6px 20px rgba(100, 120, 140, 0.12);
}
.service-feature-item__image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.service-feature-item__name{
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--color-dark);
}

/* レスポンシブ対応 */
@media (max-width: 900px){
	.service-container{
		padding: 40px 30px;
	}
	.service-main-content{
		flex-direction: column;
	}
	.service-main-image,
	.service-main-text{
		width: 100%;
	}
	.service-catchphrase{
		font-size: 2.4rem;
	}
	.service-feature-list{
		/* タブレットでは3カラム表示 */
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 530px){
	.service-container{
		padding: 30px 20px;
	}
	.service-feature-list {
		/* スマートフォンでは2カラム表示 */
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.service-feature-item__name{
		font-size: 1.4rem;
	}
}
/* タブの共通スタイル */
.tabs-nav{
	display: flex;
	justify-content: center;
	border-bottom: 2px solid #ddd;
	margin-bottom: 40px;
}
.tab-item{
	cursor: pointer;
	padding: 15px 30px;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--color-gray);
	position: relative;
	transition: color 0.3s;
}
.tab-item::after{
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 3px;
	background-color: var(--color-primary);
	transition: width 0.3s;
}
.tab-item.is-active{
	color: var(--color-primary);
}
.tab-item.is-active::after{
	width: 100%;
}
.tab-content{
	display: none;
}
.tab-content.is-active{
	display: block;
}
/* ボタンの共通設定 */
.button-link, .btn-more{
	position: relative;
	overflow: hidden;
}
/* 光るアニメーション */
.button-link::after, .btn-more::after{
	content: '';
	position: absolute;
	top: 0;
	left: -150%;
	width: 60%;
	height: 100%;
	background: linear-gradient( to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100% );
	transform: skewX(-25deg);
	transition: left 0.7s ease-in-out;
}
.button-link:hover::after, .btn-more:hover::after{
	left: 150%;
}
.button-link{
	background-color: var(--color-accent) !important;
	color: var(--color-white) !important;
}
.button-link:hover{
	background-color: #FF954F !important;
	border-color: #FF954F !important;
	color: var(--color-white) !important;
}
.btn-more:hover{
	background-color: #0078D4 !important;
	border-color: #0078D4 !important;
	color: var(--color-white) !important;
}
/* アクセス */
.access-container{
	display: flex;
	gap: 40px;
	align-items: center;
}
.access-map{
	width: 55%;
}
.access-map iframe{
	width: 100%;
	height: 350px;
	border: 0;
	border-radius: 8px;
}
.access-info{
	width: 45%;
}
.access-info dl dt{
	font-weight: 700;
	padding: 15px 0;
	border-top: 1px dotted #ccc;
}
.access-info dl dd{
	padding-left: 1em;
}
.access-info dl dt:first-child{
	border-top: none;
}
/* 採用情報 */
.recruit-section {
	background-image: linear-gradient(rgba(0,93,180,0.8), rgba(0,93,180,0.8));
	background-size: cover;
	background-position: center;
	color: var(--color-white);
}
/* CTAセクション */
.cta-section{
	background-image: linear-gradient(rgba(0,93,180,0.8), rgba(0,93,180,0.8));
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	color: var(--color-white);
}
.cta-section p{
	max-width: 800px;
	margin: 0 auto 40px;
}
.cta-buttons{
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}
/* レスポンシブ */
@media (max-width: 900px){
	.hero-caption .main-copy{
		font-size: 2.8rem;
	}
	.tabs-nav{
		flex-wrap: wrap;
	}
	.tab-item{
		font-size: 1.6rem;
		padding: 15px;
	}
	.access-container{
		flex-direction: column;
	}
	.access-map, .access-info{
		width: 100%;
	}
}
@media (max-width: 768px){
	.hero-caption .main-copy{
		font-size: 2.8rem;
	}
	.hero-caption .sub-copy{
		font-size: 1.6rem;
	}
}
/* ================================================
 * WordPress Block Editor Styles (Frontend)
 * ================================================ */
/* Layout Blocks */
.post-content .is-layout-flex{
	display: flex;
	gap: 0.5em;
}
.post-content .is-layout-flex.is-vertical{
	flex-direction: column;
}
.post-content .is-layout-grid{
	display: grid;
	gap: 0.5em;
}
.post-content .is-content-justification-left{
	justify-content: flex-start;
}
.post-content .is-content-justification-center{
	justify-content: center;
}
.post-content .is-content-justification-right{
	justify-content: flex-end;
}
.post-content .is-content-justification-space-between{
	justify-content: space-between;
}
.post-content .is-vertical.is-content-justification-left{
	align-items: flex-start;
}
.post-content .is-vertical.is-content-justification-center{
	align-items: center;
}
.post-content .is-vertical.is-content-justification-right{
	align-items: flex-end;
}
/* Columns Block */
.post-content .wp-block-columns{
	display: flex;
	gap: 30px;
	margin-bottom: 1.8em;
}
.post-content .wp-block-column {
	flex-grow: 1;
	flex-basis: 0;
}
@media (max-width: 768px){
	.post-content .wp-block-columns{
		flex-direction: column;
	}
}
/* Media & Text Block */
.post-content .wp-block-media-text{
	display: grid;
	grid-template-columns: 50% 1fr;
	gap: 30px;
	margin-bottom: 1.8em;
}
.post-content .wp-block-media-text.has-media-on-the-right{
	grid-template-columns: 1fr 50%;
}
.post-content .wp-block-media-text.is-vertically-aligned-top{
	align-items: flex-start;
}
.post-content .wp-block-media-text.is-vertically-aligned-center{
	align-items: center;
}
.post-content .wp-block-media-text.is-vertically-aligned-bottom{
	align-items: flex-end;
}
@media (max-width: 768px){
	.post-content .wp-block-media-text.is-stacked-on-mobile{
		grid-template-columns: 100%;
	}
	.post-content .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__media{
		grid-row: 1;
	}
}
/* Gallery Block */
.post-content .wp-block-gallery{
	gap: 16px;
	margin-bottom: 1.8em;
}
/* Buttons Block */
.post-content .wp-block-buttons{
	gap: 10px;
	margin-bottom: 1.8em;
}
.post-content .wp-block-button .wp-block-button__link{
	display: inline-block;
	background-color: var(--color-primary) !important;
	color: var(--color-white) !important;
	border: 2px solid var(--color-primary) !important;
	border-radius: 50px !important;
	font-weight: 500;
	padding: 10px 30px !important;
	text-decoration: none !important;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(243, 101, 134, 0.1);
}
.post-content .wp-block-button .wp-block-button__link:hover{
	background-color: var(--color-white) !important;
	color: var(--color-primary) !important; opacity: 1;
}
.post-content .wp-block-button.is-style-outline .wp-block-button__link{
	background-color: transparent !important;
	color: var(--color-primary) !important;
}
.post-content .wp-block-button.is-style-outline .wp-block-button__link:hover{
	background-color: var(--color-primary) !important;
	color: var(--color-white) !important;
}
/* Preformatted & Code Block */
.post-content .wp-block-preformatted, .post-content .wp-block-code pre{
	padding: 20px;
	background: var(--color-dark);
	color: var(--color-white);
	border-radius: 8px;
	font-family: monospace;
	font-size: 1.4rem;
	line-height: 1.6;
	white-space: pre-wrap;
	word-wrap: break-word;
	margin-bottom: 1.8em;
}
/* Table Block */
.post-content .wp-block-table{
	margin-bottom: 1.8em;
	width: 100%;
}
.post-content .wp-block-table table{
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #ddd;
}
.post-content .wp-block-table th, .post-content .wp-block-table td{
	padding: 12px 15px;
	border: 1px solid #ddd;
	text-align: left;
	vertical-align: top;
}
.post-content .wp-block-table th{
	background-color: var(--color-light);
	font-weight: 700;
}
.post-content .wp-block-table.is-style-stripes tbody tr:nth-of-type(odd){
	background-color: #f9f9f9;
}
/* Separator Block */
.post-content .wp-block-separator{
	margin: 40px auto;
	border-color: #ccc;
	background-color: #ccc;
	border: none;
}
.post-content .wp-block-separator:not(.is-style-dots){
	height: 1px;
}
.post-content .wp-block-separator.is-style-dots{
	border-style: dotted;
	border-width: 2px 0 0 0;
	height: 0;
	background-color: transparent;
}
.post-content .wp-block-separator.is-style-wide{
	max-width: 100%;
}
/* Image Block */
.post-content .wp-block-image{
	margin-bottom: 1.8em;
}
.post-content .wp-block-image figure{
	margin: 0;
}
.post-content .wp-block-image figcaption{
	font-size: 1.4rem;
	color: var(--color-gray);
	text-align: center; margin-top: 0.8em;
}
/* Inline Color Styles */
.post-content .has-text-color{
	color: var(--color-class-name, inherit);
}
.post-content .has-background{
	background-color: var(--color-class-name, transparent);
	padding: 1.2em 1.5em;
	border-radius: 4px;
	margin-bottom: 1.8em;
}
.has-black-color{
	--color-class-name:var(--color-black);
}
.has-cyan-bluish-gray-color{
	--color-class-name:#abb8c3;
}
.has-white-color{
	--color-class-name:var(--color-white);
}
.has-pale-pink-color{
	--color-class-name:#f78da7;
}
.has-vivid-red-color{
	--color-class-name:#cf2e2e;
}
.has-luminous-vivid-orange-color{
	--color-class-name:#ff6900;
}
.has-luminous-vivid-amber-color{
	--color-class-name:#fcb900;
}
.has-light-green-cyan-color{
	--color-class-name:#7bdcb5;
}
.has-vivid-green-cyan-color{
	--color-class-name:#00d084;
}
.has-pale-cyan-blue-color{
	--color-class-name:#8ed1fc;
}
.has-vivid-cyan-blue-color{
	--color-class-name:#0693e3;
}
.has-vivid-purple-color{
	--color-class-name:#9b51e0;
}
.has-black-background-color{
	--color-class-name:var(--color-black)
}
.has-cyan-bluish-gray-background-color{
	--color-class-name:#abb8c3;
}
.has-white-background-color{
	--color-class-name:var(--color-white);
}
.has-pale-pink-background-color{
	--color-class-name:#f78da7;
}
.has-vivid-red-background-color{
	--color-class-name:#cf2e2e;
}
.has-luminous-vivid-orange-background-color{
	--color-class-name:#ff6900;
}
.has-luminous-vivid-amber-background-color{
	--color-class-name:#fcb900;
}
.has-light-green-cyan-background-color{
	--color-class-name:#7bdcb5;
}
.has-vivid-green-cyan-background-color{
	--color-class-name:#00d084;
}
.has-pale-cyan-blue-background-color{
	--color-class-name:#8ed1fc;
}
.has-vivid-cyan-blue-background-color{
	--color-class-name:#0693e3;
}
.has-vivid-purple-background-color{
	--color-class-name:#9b51e0;
}
/* TOC in Blockquote Style */
.post-content .wp-block-quote ul.wp-block-list li::before{
	background-color: var(--color-primary);
}
.post-content .wp-block-quote ul.wp-block-list li a{
	color: var(--color-dark) !important;
	border-bottom: none;
	font-weight: 500;
}
.post-content .wp-block-quote ul.wp-block-list li a:hover{
	color: var(--color-primary) !important;
	opacity: 1;text-decoration: underline;
}
/* Custom Block: Product Box */
.product-box{
	margin: 40px 0;
	background-color: #fff;
	border: 1px solid #E5E9ED;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(100, 120, 140, 0.08);
	overflow: hidden;
}
.product-box__inner{
	padding: 25px;
}
.product-box__main{
	display: flex;
	gap: 25px;
	align-items: center;
	margin-bottom: 25px;
}
.product-box__image{
	flex: 0 0 200px;
	width: 200px;
	margin: 0;
}
.product-box__image img{
	border-radius: 8px;
	width: 100%;
	height: auto;
	border: 1px solid #f0f0f0;
}
.product-box__content{
	flex: 1;
}
.product-box__title{
	font-size: 2.2rem;
	font-weight: 700;
	margin: 0 0 15px 0;
	padding: 0;
	border-bottom: none;
	color: var(--color-dark);
}
.product-box__description p{
	margin-bottom: 1em;
	font-size: 1.5rem;
	line-height: 1.7;
}
.product-box__description p:last-child{
	margin-bottom: 0;
}
.product-box__button-area{
	text-align: center;
}
.product-box__button{
	display: inline-block;
	background-color: var(--color-primary) !important;
	color: var(--color-white) !important;
	border-radius: 50px;
	padding: 12px 40px;
	font-size: 1.6rem;
	font-weight: 700;
	text-decoration: none;
	border: 2px solid var(--color-primary) !important;
	box-shadow: 0 4px 15px rgba(243, 101, 134, 0.2);
	transition: all 0.3s ease;
}
.product-box__button:hover{
	opacity: 1;
	background-color: var(--color-white) !important;
	color: var(--color-primary) !important;
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(243, 101, 134, 0.2);
}
@media (max-width: 768px){
	.product-box__main{
		flex-direction: column;
		align-items: flex-start;
	}
	.product-box__image{
		flex-basis: auto;
		width: 100%;
		max-width: 300px;
		margin: 0 auto 20px;
	}
	.product-box__title{
		font-size: 2rem;
	}
	.product-box__button{
		width: 100%;
		padding: 15px 20px;
	}
}
/* ================================================
 * フッター (Footer)
 * ================================================ */
.site-footer {
	background-color: var(--color-dark); /* 背景色を濃いグレーに変更 */
	color: var(--color-white); /* 基本文字色を白に変更 */
}
.footer-grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}
.footer-block{
	min-width: 0;
}
.footer-title{
	position: relative;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--color-accent);
	color: #fff;
}
.footer-list{
	list-style: none;
	padding: 0;
	margin: 0;
	color: rgba(255, 255, 255, 0.8);
}
.footer-list .fw-bold{
	font-weight: 700 !important;
	color: #fff !important;
}
.footer-bottom{
	flex-wrap: wrap;
	gap: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-nav-bottom ul{
	flex-wrap: wrap;
}
.footer-nav-bottom a{
	color: rgba(255, 255, 255, 0.7);
	transition: color 0.3s;
}
.footer-nav-bottom a:hover{
	color: #fff;
	opacity: 1;
}
.site-footer a{
	color: var(--color-white);
}
.site-footer a:hover{
	color: var(--color-accent);
	opacity: 1;
}
/* Footer Responsive */
@media (max-width: 900px){
	.footer-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px){
	.footer-grid{
		grid-template-columns: 1fr;
		text-align: left;
	}
	.footer-block .d-flex{
		justify-content: flex-start;
	}
	.footer-title{
		border-bottom: none;
	}
	.footer-title::after{
		content: '';
		display: block;
		width: 60px;
		height: 2px;
		background-color: var(--color-accent);
		margin: 10px 0 0 0;
	}
	.footer-bottom{
		flex-direction: column;
		text-align: left;
	}
}
/* ================================================
 * WordPress Block Editor Styles (Frontend) - Fixes
 * ================================================ */

/* Table Block Responsive Scroll */
.post-content .wp-block-table {
	overflow-x: auto; /* テーブルブロック自体に横スクロールを適用 */
	-webkit-overflow-scrolling: touch; /* iOSでのスクロールを滑らかにする */
	margin-bottom: 1.8em;
	/* width: 100%; は既存のスタイルで適用されているため不要 */
}

/* テーブル要素の最小幅を確保 */
.post-content .wp-block-table table {
	min-width: 600px; /* テーブルが最低でもこの幅を保つようにする（中のテキストが改行されすぎるのを防ぐ）。数値はテーブルの内容に応じて調整してください。 */
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #ddd;
}
/* ================================================
 * Responsive Width Fix
 * ================================================ */

@media (max-width: 768px) {
	/* 
	  .mb-flex-column が適用される際に、
	  .w-50 や .w-25 などの幅指定をリセットし、100%に戻す
	*/
	.mb-flex-column > .w-50,
	.mb-flex-column > .w-25 {
		width: 100% !important;
	}
}