@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* Focus4 homepage tabs and category sections */
.f4-home-tabs {
	margin: clamp(32px, 5vw, 64px) 0;
}

.f4-home-tabs__nav {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 6px;
	overflow-x: auto;
	padding: 0 0 1px;
	border-bottom: 1px solid #cfd8e3;
	scrollbar-width: thin;
}

.f4-home-tabs__button {
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #cfd8e3;
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
	background: #fff;
	color: #18263a;
	font: inherit;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.f4-home-tabs__button:hover {
	background: #f2f6fb;
	border-color: #9fb0c4;
}

.f4-home-tabs__button.is-active {
	background: #102d57;
	border-color: #102d57;
	color: #fff;
}

.f4-home-tabs__button:focus-visible,
.f4-home-card__link:focus-visible,
.f4-category-section__more:focus-visible {
	outline: 3px solid #4c88d9;
	outline-offset: 3px;
}

.f4-home-tabs__panel {
	padding-top: clamp(22px, 3vw, 34px);
}

.f4-home-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 28px);
}

.f4-home-grid--tabs .f4-home-card {
	grid-column: span 4;
}

.f4-home-grid--tabs .f4-home-card:first-child {
	grid-column: span 7;
}

.f4-home-grid--tabs .f4-home-card:nth-child(2) {
	grid-column: span 5;
}

.f4-home-grid--category .f4-home-card {
	grid-column: span 3;
}

.f4-home-card {
	min-width: 0;
	border: 1px solid #e0e6ed;
	background: #fff;
	box-shadow: 0 8px 24px rgba(21, 45, 77, .06);
	transition: transform .2s ease, box-shadow .2s ease;
}

.f4-home-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(21, 45, 77, .12);
}

.f4-home-card__link {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.f4-home-card__thumb {
	overflow: hidden;
	aspect-ratio: 16 / 9;
	margin: 0;
	background: #eaf0f7;
}

.f4-home-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.f4-home-card:hover .f4-home-card__thumb img {
	transform: scale(1.025);
}

.f4-home-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	color: #102d57;
	font-size: 1.4rem;
	font-weight: 700;
}

.f4-home-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 190px;
	padding: clamp(15px, 2vw, 22px);
}

.f4-home-card__category {
	margin-bottom: 9px;
	color: #2368b5;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
}

.f4-home-card__title {
	margin: 0;
	color: #172234;
	font-size: clamp(16px, 1.45vw, 20px);
	line-height: 1.55;
}

.f4-home-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 10px 0 0;
	color: #526174;
	font-size: 13px;
	line-height: 1.75;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.f4-home-card__date {
	margin-top: auto;
	padding-top: 14px;
	color: #748196;
	font-size: 12px;
}

.f4-category-sections {
	margin-top: clamp(48px, 7vw, 88px);
}

.f4-category-section {
	margin-top: clamp(46px, 6vw, 76px);
}

.f4-category-section:first-child {
	margin-top: 0;
}

.f4-category-section__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
	padding-bottom: 12px;
	border-bottom: 3px solid #102d57;
}

.f4-category-section__title {
	margin: 0;
	color: #102d57;
	font-size: clamp(23px, 2.6vw, 32px);
	line-height: 1.3;
}

.f4-category-section__more {
	flex: 0 0 auto;
	color: #2368b5;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.f4-category-section__more::after {
	content: " →";
}

.f4-home-empty {
	grid-column: 1 / -1;
	padding: 36px;
	background: #f6f8fb;
	color: #56647a;
	text-align: center;
}

@media (max-width: 959px) {
	.f4-home-tabs__nav {
		grid-auto-columns: minmax(126px, 1fr);
		grid-template-columns: none;
		grid-auto-flow: column;
		justify-content: start;
	}

	.f4-home-grid--tabs .f4-home-card,
	.f4-home-grid--tabs .f4-home-card:first-child,
	.f4-home-grid--tabs .f4-home-card:nth-child(2) {
		grid-column: span 6;
	}

	.f4-home-grid--category .f4-home-card {
		grid-column: span 6;
	}
}

@media (max-width: 599px) {
	.f4-home-tabs {
		margin-top: 28px;
	}

	.f4-home-tabs__button {
		min-height: 44px;
		padding: 9px 12px;
		font-size: 13px;
	}

	.f4-home-grid--tabs .f4-home-card,
	.f4-home-grid--tabs .f4-home-card:first-child,
	.f4-home-grid--tabs .f4-home-card:nth-child(2),
	.f4-home-grid--category .f4-home-card {
		grid-column: 1 / -1;
	}

	.f4-home-card__body {
		min-height: 0;
	}

	.f4-home-card__excerpt {
		-webkit-line-clamp: 2;
	}

	.f4-category-section__header {
		align-items: center;
	}

	.f4-category-section__title {
		font-size: 22px;
	}
}

/* Reset SWELL heading decoration inside Focus4 cards and sections */
.post_content .f4-home-card__title,
.post_content .f4-category-section__title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.post_content .f4-home-card__title::before,
.post_content .f4-home-card__title::after,
.post_content .f4-category-section__title::before,
.post_content .f4-category-section__title::after {
	display: none !important;
	content: none !important;
}

/* Focus4 compact article list layout */
.f4-home-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.f4-home-grid--tabs .f4-home-card,
.f4-home-grid--tabs .f4-home-card:first-child,
.f4-home-grid--tabs .f4-home-card:nth-child(2),
.f4-home-grid--category .f4-home-card {
	grid-column: auto;
}

.f4-home-card {
	border: 0;
	border-bottom: 1px solid #e0e6ed;
	background: transparent;
	box-shadow: none;
}

.f4-home-card:first-child {
	border-top: 1px solid #e0e6ed;
}

.f4-home-card:hover {
	transform: none;
	background: #f7f9fc;
	box-shadow: none;
}

.f4-home-card__link {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	height: auto;
	padding: 16px 8px;
}

.f4-home-card__thumb {
	aspect-ratio: 4 / 3;
	border-radius: 4px;
}

.f4-home-card__body {
	min-height: 0;
	padding: 0;
}

.f4-home-card__category {
	margin-bottom: 4px;
	font-size: 11px;
}

.f4-home-card__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: clamp(16px, 1.55vw, 20px);
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.f4-home-card__excerpt {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.65;
	-webkit-line-clamp: 2;
}

.f4-home-card__date {
	margin-top: 7px;
	padding-top: 0;
	font-size: 11px;
}

@media (max-width: 599px) {
	.f4-home-card__link {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 12px;
		padding: 12px 0;
	}

	.f4-home-card__thumb {
		aspect-ratio: 4 / 3;
		border-radius: 3px;
	}

	.f4-home-card__category {
		margin-bottom: 3px;
		font-size: 10px;
	}

	.f4-home-card__title {
		font-size: 14px;
		line-height: 1.42;
		-webkit-line-clamp: 3;
	}

	.f4-home-card__excerpt {
		display: none;
	}

	.f4-home-card__date {
		margin-top: 5px;
		font-size: 10px;
	}
}

/* Focus4 homepage refinement: 2026-08-23 */
.f4-home-grid--category .f4-home-card:first-child {
	border: 1px solid #e0e6ed;
	background: #fff;
	box-shadow: 0 8px 24px rgba(21, 45, 77, .08);
}

.f4-home-grid--category .f4-home-card:first-child:hover {
	transform: translateY(-2px);
	background: #fff;
	box-shadow: 0 12px 28px rgba(21, 45, 77, .12);
}

.f4-home-grid--category .f4-home-card:first-child .f4-home-card__link {
	display: block;
	padding: 0;
}

.f4-home-grid--category .f4-home-card:first-child .f4-home-card__thumb {
	aspect-ratio: 16 / 9;
	border-radius: 0;
}

.f4-home-grid--category .f4-home-card:first-child .f4-home-card__body {
	padding: clamp(16px, 2.2vw, 24px);
}

.f4-home-grid--category .f4-home-card:first-child .f4-home-card__category {
	margin-bottom: 8px;
	font-size: 12px;
}

.f4-home-grid--category .f4-home-card:first-child .f4-home-card__title {
	display: block;
	overflow: visible;
	font-size: clamp(20px, 2.15vw, 27px);
	line-height: 1.5;
}

.f4-home-grid--category .f4-home-card:first-child .f4-home-card__excerpt {
	display: -webkit-box;
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.75;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.f4-home-grid--category .f4-home-card:first-child .f4-home-card__date {
	margin-top: 12px;
	font-size: 12px;
}

@media (min-width: 960px) {
	.f4-home-tabs__nav {
		grid-template-columns: .72fr .72fr 1.45fr 1fr .8fr .7fr;
		gap: 4px;
		overflow-x: hidden;
	}

	.f4-home-tabs__button {
		width: 100%;
		min-width: 0;
		padding-right: 6px;
		padding-left: 6px;
		font-size: 13px;
	}
}

@media (max-width: 599px) {
	.f4-home-grid--category .f4-home-card:first-child .f4-home-card__body {
		padding: 14px;
	}

	.f4-home-grid--category .f4-home-card:first-child .f4-home-card__title {
		font-size: 18px;
		line-height: 1.5;
	}

	.f4-home-grid--category .f4-home-card:first-child .f4-home-card__excerpt {
		display: -webkit-box;
		font-size: 12px;
		-webkit-line-clamp: 2;
	}
}

/* Focus4 latest first-card enlargement: 2026-08-23 */
[data-f4-panel="latest"] .f4-home-card:first-child {
	border: 1px solid #e0e6ed;
	background: #fff;
	box-shadow: 0 8px 24px rgba(21, 45, 77, .08);
}

[data-f4-panel="latest"] .f4-home-card:first-child:hover {
	transform: translateY(-2px);
	background: #fff;
	box-shadow: 0 12px 28px rgba(21, 45, 77, .12);
}

[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__link {
	display: block;
	padding: 0;
}

[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__thumb {
	aspect-ratio: 16 / 9;
	border-radius: 0;
}

[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__body {
	padding: clamp(16px, 2.2vw, 24px);
}

[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__category {
	margin-bottom: 8px;
	font-size: 12px;
}

[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__title {
	display: block;
	overflow: visible;
	font-size: clamp(20px, 2.15vw, 27px);
	line-height: 1.5;
}

[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__excerpt {
	display: -webkit-box;
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.75;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__date {
	margin-top: 12px;
	font-size: 12px;
}

@media (max-width: 599px) {
	[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__body {
		padding: 14px;
	}

	[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__title {
		font-size: 18px;
		line-height: 1.5;
	}

	[data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__excerpt {
		display: -webkit-box;
		font-size: 12px;
		-webkit-line-clamp: 2;
	}
}



/* ==========================================================================
   Focus4 featured cards compact balance
   Added: 2026-08-29
   ========================================================================== */

.f4-home-tabs {
    margin: clamp(28px, 4vw, 48px) 0;
}

.f4-home-tabs__panel {
    padding-top: clamp(18px, 2.2vw, 26px);
}

.f4-category-sections {
    margin-top: clamp(38px, 5vw, 64px);
}

.f4-category-section {
    margin-top: clamp(36px, 5vw, 60px);
}

.f4-category-section__header {
    margin-bottom: 18px;
}

/* Latest and each category's first card: keep emphasis without a full-width hero image. */
@media (min-width: 600px) {
    [data-f4-panel="latest"] .f4-home-card:first-child,
    .f4-home-grid--category .f4-home-card:first-child {
        box-shadow: 0 5px 16px rgba(21, 45, 77, 0.08);
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__link,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__link {
        display: grid;
        grid-template-columns: minmax(250px, 42%) minmax(0, 1fr);
        gap: 0;
        align-items: center;
        padding: 0;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__thumb,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__thumb {
        width: 100%;
        aspect-ratio: 16 / 9;
        align-self: center;
        border-radius: 0;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__body,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__body {
        min-height: 0;
        justify-content: center;
        padding: clamp(16px, 2vw, 22px);
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__category,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__category {
        margin-bottom: 6px;
        font-size: 11px;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__title,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__title {
        display: -webkit-box;
        overflow: hidden;
        font-size: clamp(18px, 1.65vw, 23px);
        line-height: 1.45;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__excerpt,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__excerpt {
        display: -webkit-box;
        margin-top: 7px;
        font-size: 12px;
        line-height: 1.6;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__date,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__date {
        margin-top: 8px;
        padding-top: 0;
        font-size: 11px;
    }
}

@media (max-width: 599px) {
    .f4-home-tabs {
        margin: 24px 0 32px;
    }

    .f4-home-tabs__panel {
        padding-top: 16px;
    }

    .f4-category-sections {
        margin-top: 32px;
    }

    .f4-category-section {
        margin-top: 32px;
    }

    .f4-category-section__header {
        margin-bottom: 14px;
        padding-bottom: 9px;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child,
    .f4-home-grid--category .f4-home-card:first-child {
        box-shadow: 0 3px 12px rgba(21, 45, 77, 0.07);
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__link,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__link {
        display: grid;
        grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        padding: 12px;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__thumb,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__thumb {
        width: 100%;
        aspect-ratio: 4 / 3;
        border-radius: 4px;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__body,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__body {
        min-height: 0;
        padding: 0;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__category,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__category {
        margin-bottom: 3px;
        font-size: 10px;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__title,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__title {
        display: -webkit-box;
        overflow: hidden;
        font-size: 15px;
        line-height: 1.4;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__excerpt,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__excerpt {
        display: none;
    }

    [data-f4-panel="latest"] .f4-home-card:first-child .f4-home-card__date,
    .f4-home-grid--category .f4-home-card:first-child .f4-home-card__date {
        margin-top: 5px;
        padding-top: 0;
        font-size: 10px;
    }
}
