/*
Theme Name: SWELL Child - KIKAKU-SEED
Template: swell
Version: 0.1.8
Text Domain: swell-child-kikaku-seeds
*/

.ks-page { max-width: 1080px; margin: 0 auto; }
.ks-page__intro { margin-bottom: 2rem; }
.ks-page__intro h1 { margin: .75rem 0 1rem; font-size: 3.2rem; line-height: 1.2; font-weight: 700; }
.ks-filter { display: grid; gap: 1rem; padding: 1.25rem; margin-bottom: 2rem; background: var(--color_gray_lt, #f7f7f7); border: 1px solid var(--color_border, #e9e9e9); border-radius: 8px; }
.ks-filter__search, .ks-filter__selectors, .ks-filter__field { min-width: 0; }
.ks-filter__search input, .ks-filter__field select { box-sizing: border-box; width: 100%; min-height: 44px; padding: .65rem .85rem; border: 1px solid #e5e5e5; border-radius: 6px; background-color: #fff; color: #37352f; box-shadow: 0 1px 2px rgba(15, 15, 15, .04); }
.ks-filter__search input { font-size: 1rem; }
.ks-filter__search input::placeholder { color: #9b9a97; }
.ks-filter__field { position: relative; }
.ks-filter__field::after { content: ""; position: absolute; top: 50%; right: .9rem; width: .45rem; height: .45rem; border-right: 1.5px solid #787774; border-bottom: 1.5px solid #787774; pointer-events: none; transform: translateY(-65%) rotate(45deg); }
.ks-filter__field select { appearance: none; -webkit-appearance: none; padding-right: 2.25rem; cursor: pointer; }
.ks-filter__search input:focus, .ks-filter__field select:focus { border-color: var(--color_main, #2383e2); box-shadow: 0 0 0 2px rgba(35, 131, 226, .18); outline: none; }
.ks-filter__selectors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.ks-filter__submit { width: 100%; min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--color_main, #333); border-radius: 6px; background: var(--color_main, #333); color: #fff; cursor: pointer; transition: opacity .2s ease; }
.ks-filter__submit:hover { opacity: .85; }
.ks-filter__field.ks-has-dropdown::after { display: none; }
.ks-filter__select.is-enhanced { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.ks-filter__dropdown { position: relative; width: 100%; }
.ks-filter__dropdown-button { position: relative; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; width: 100%; min-height: 44px; padding: .65rem 2.25rem .65rem .85rem; border: 1px solid #e5e5e5; border-radius: 6px; background: #fff; color: #37352f; box-shadow: 0 1px 2px rgba(15, 15, 15, .04); font: inherit; text-align: left; cursor: pointer; }
.ks-filter__dropdown-button::after { content: ""; position: absolute; top: 50%; right: .9rem; width: .45rem; height: .45rem; border-right: 1.5px solid #787774; border-bottom: 1.5px solid #787774; transform: translateY(-65%) rotate(45deg); transition: transform .15s ease; }
.ks-filter__dropdown.is-open .ks-filter__dropdown-button::after { transform: translateY(-35%) rotate(225deg); }
.ks-filter__dropdown-button:focus-visible { border-color: var(--color_main, #2383e2); box-shadow: 0 0 0 2px rgba(35, 131, 226, .18); outline: none; }
.ks-filter__dropdown-menu { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; display: none; box-sizing: border-box; width: 100%; max-height: 280px; overflow-y: auto; padding: 6px; border: 1px solid #e9e9e7; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(15, 15, 15, .12), 0 2px 6px rgba(15, 15, 15, .06); }
.ks-filter__dropdown.is-open .ks-filter__dropdown-menu { display: block; }
.ks-filter__dropdown-option { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: .55rem .65rem; border: 0; border-radius: 5px; background: transparent; color: #37352f; font: inherit; font-size: .9rem; text-align: left; cursor: pointer; }
.ks-filter__dropdown-option:hover, .ks-filter__dropdown-option:focus-visible { background: #f1f1ef; outline: none; }
.ks-filter__dropdown-option.is-selected { background: #e9e9e7; font-weight: 600; }
.ks-filter__dropdown-option.is-selected::after { content: "✓"; color: #787774; font-size: .85rem; }
.ks-idea-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.ks-card { height: 100%; border: 1px solid var(--color_border, #e5e5e5); border-radius: 10px; background: #fff; overflow: hidden; }
.ks-card__body { padding: 1.25rem; }
.ks-card__title { font-size: 1.1rem; line-height: 1.5; margin: .65rem 0; }
.ks-card__title a { text-decoration: none; }
.ks-card__summary { color: var(--color_text, #555); font-size: .92rem; }
.ks-card__terms, .ks-card__meta, .ks-detail__terms { display: flex; flex-wrap: wrap; gap: .4rem; }
.ks-chip--link { color: inherit; text-decoration: none; transition: background-color .15s ease; }
.ks-chip--link:hover { background: #e9e9e7; }
.ks-chip { display: inline-block; padding: .2rem .55rem; border-radius: 999px; background: var(--color_pale, #f0f0f0); font-size: .78rem; }
.ks-card__meta { margin-top: 1rem; color: #777; font-size: .8rem; }
.ks-detail__head { margin-bottom: 2rem; }
.ks-detail__head h1 { margin: .75rem 0 1rem; font-size: 2.4rem; line-height: 1.25; font-weight: 700; }
.ks-detail__subtitle { margin: 0; font-size: 1.1rem; line-height: 1.7; color: #555; }
.ks-detail__facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin: 1.5rem 0 2rem; }
.ks-fact { padding: 1rem; background: var(--color_gray_lt, #f7f7f7); border-radius: 8px; }
.ks-fact dt { font-size: .75rem; color: #777; }
.ks-fact dd { margin: .35rem 0 0; font-weight: 600; }
.ks-detail__content { margin-bottom: 3rem; }
.ks-related { border-top: 1px solid #eee; padding-top: 2rem; }
.ks-callout { padding: 1rem; border-left: 4px solid var(--color_main, #333); background: #f7f7f7; }
.ks-pagination { margin-top: 2rem; }
.ks-pagination ul.page-numbers, .ks-pagination ul.page-numbers:hover { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; width: 100%; height: auto; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent !important; box-shadow: none !important; color: inherit !important; list-style: none; text-align: left; }
.ks-pagination ul.page-numbers li { display: block; margin: 0; padding: 0; list-style: none; }
.ks-pagination a.page-numbers, .ks-pagination span.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; min-height: 2.4rem; box-sizing: border-box; padding: .35rem .65rem; border: 1px solid #e5e5e5; border-radius: 6px; background: #fff !important; color: #37352f !important; line-height: 1; text-decoration: none; }
.ks-pagination a.page-numbers:hover { background: #37352f !important; color: #fff !important; }
.ks-pagination span.page-numbers.current { border-color: #37352f; background: #37352f !important; color: #fff !important; }
.ks-pagination span.page-numbers.dots { border-color: transparent; background: transparent !important; }

@media (max-width: 800px) {
	.ks-filter__selectors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ks-idea-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ks-detail__facts { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
	.ks-filter__selectors { grid-template-columns: 1fr; }
	.ks-idea-grid { grid-template-columns: 1fr; }
}

/* 既存サイトの追加CSSから移行した設定 */
.fs_ls_t { font-family: "LINE Seed JP", sans-serif; font-weight: 100; }
.fs_ls_r { font-family: "LINE Seed JP", sans-serif; font-weight: 400; }
.fs_ls_b { font-family: "LINE Seed JP", sans-serif; font-weight: 700; }
.fs_ls_eb { font-family: "LINE Seed JP", sans-serif; font-weight: 800; }

body {
	line-height: 1.8;
	color: #333;
	word-break: break-all;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-weight: 400;
	flex-direction: column;
	font-family: "LINE Seed JP", sans-serif;
	letter-spacing: 0.5px;
}

.post_content > * { clear: both; margin-bottom: 1em; }

.post_content h2 {
	font-size: 1.8em;
	line-height: 1.4;
	margin: 2em 0 1em;
	position: relative;
	z-index: 1;
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0.2em 0 0.2em 24px;
}

.p-postList .p-postList__title {
	font-family: "LINE Seed JP", sans-serif;
	font-size: 1.4em;
	font-weight: 600;
}

.swiper-slide .p-postList__link .p-postList__body {
	font-family: "LINE Seed JP", sans-serif;
	font-size: .45em;
	color: #999;
}

.c-postTitle__date .__md { white-space: nowrap; }
.-type-card .p-postList__excerpt { font-size: .8em; line-height: 1.6; }

#post_slider .swiper { margin-top: 20px; margin-bottom: 10px; border-bottom: 1px solid #ccc; padding-bottom: 34px; margin-left: -8px; margin-right: -8px; }

.swiper-pagination { margin-bottom: 10px; }
.-type-list .p-postList__excerpt, .-type-list2 .p-postList__excerpt { font-size: .9em; }
#after_article > section.l-articleBottom__section.-related > ul > li > a > div.p-postList__body > div.p-postList__title { font-size: 1em; }
ul > li > a > div.p-postList__body > div.p-postList__title { font-size: 1.2rem; }

@media not all and (min-width: 960px) {
	.post_content h2 { font-size: 1.5em; line-height: .4; margin: 3em 0 1em; position: relative; z-index: 1; }
}

.c-overlay { background: rgba(195, 0, 0, .9); }
.p-searchModal__inner { background: none; }
.p-searchModal__inner .s { font-size: 26px; border-radius: 20px; }
.p-searchModal__inner .c-searchForm__submit { width: 70px; border-radius: 0 20px 20px 0; }
.c-modal .c-modal__close { text-shadow: none; }
.c-searchForm__s { padding: 6px 44px 4px 13px; }

input:focus, select:focus, textarea:focus { outline: 4px #e00808 solid; }
button, input, select, textarea { border: 1px solid #e00808; }
.post_content p { margin-left: 1em; font-size: 1.2em; }
.post_content li { font-size: 1.2em; margin-left: 1em; }
::placeholder { font-family: "LINE Seed JP", sans-serif; }
h1.c-postTitle__ttl { font-family: "LINE Seed JP", sans-serif; font-size: 1.8em; font-weight: 700; }
#main_content .p-toc { font-size: .7em; }
#swell_index-2 > div.p-toc.post_content > ol { font-size: .8em; }
#main_content > div > div > div > ul > li > a > div.p-postList__body > h3 { font-size: .8em; }

@media (max-width: 480px) {
	div.p-postList__body > h2 { font-family: "LINE Seed JP", sans-serif; font-size: 1.2em !important; }
}

@media (min-width: 600px) { .c-pageTitle { font-size: 2em; } }
@media not all and (min-width: 960px) { .post_content h2 { line-height: 1.2; } }
@media (min-width: 1320px) {
	.-sidebar-on .-type-card.-pc-col3 .p-postList__item,
	.-sidebar-on .-type-thumb.-pc-col3 .p-postList__item.yt { width: 30%; }
}

#comments { display: none; }
.- { font-weight: normal !important; }
.u-fz-xl { line-height: 1.4; }
.p-postList .p-postList__title { font-size: 1.4em; line-height: 1.2; font-weight: 600; }
.p-postSlider.-ps-style-normal .p-postList__title { font-family: "LINE Seed JP", sans-serif; letter-spacing: 1px; }
