/*
Theme Name: Oltana 002 Child
Template: oltana-002
Version: 1.0.0
*/

/* /column/ (固定ページ表示) のカテゴリだけ横並び+中央寄せ */
body.page .ol-archive__template .ol-archive__category .ol-category__list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(12px, 2vw, 21px);
	margin-top: clamp(32px, 0.5454545455rem + 2.2727272727vw, 48px);
	padding: 0;
}

body.page .ol-archive__template .ol-archive__category .ol-category__item-anchor {
	margin-bottom: 0;
}

/* 固定ページ: H1 とサブタイトルのフォントサイズを入れ替える（位置はそのまま） */
body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-large {
	font-size: clamp(45px, 1.4488636364rem + 2.1306818182vw, 60px);
	line-height: 1.4;
}
body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-large {
	font-size: clamp(16px, 0.6363636364rem + 0.5681818182vw, 20px);
}
body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-medium {
	font-size: clamp(45px, 1.9943181818rem + 1.2784090909vw, 54px);
}
body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-medium {
	font-size: clamp(16px, 0.8181818182rem + 0.2840909091vw, 18px);
}
body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-mini {
	font-size: clamp(35px, 1.2784090909rem + 1.4204545455vw, 45px);
}
body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-mini {
	font-size: clamp(14px, 0.75rem + 0.2840909091vw, 16px);
}

@media (min-width: 1728px) {
	body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-large {
		font-size: clamp(60px, -1.9077225131rem + 5.2356020942vw, 70px);
	}
	body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-large {
		font-size: clamp(20px, -0.4473167539rem + 1.5706806283vw, 23px);
	}
	body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-medium {
		font-size: clamp(60px, -1.9077225131rem + 5.2356020942vw, 70px);
	}
	body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-medium {
		font-size: clamp(20px, -0.4473167539rem + 1.5706806283vw, 23px);
	}
	body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-mini {
		font-size: clamp(30px, -6.6115837696rem + 7.8534031414vw, 45px);
	}
	body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-mini {
		font-size: clamp(16px, 0.8181818182rem + 0.2840909091vw, 18px);
	}
}

@media (max-width: 767px) {
	body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-large {
		font-size: clamp(42px, 2.4145487552rem + 0.622406639vw, 45px);
	}
	body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-large {
		font-size: clamp(14px, 0.8048495851rem + 0.2074688797vw, 15px);
	}
	body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-medium {
		font-size: clamp(36px, 1.125rem + 5vw, 45px);
	}
	body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-medium {
		font-size: clamp(14px, 0.8048495851rem + 0.2074688797vw, 15px);
	}
	body.page .ol-dual-heading__title.ol-heading-sub.ol-heading-mini {
		font-size: clamp(32px, 0.375rem + 7.2222222222vw, 45px);
	}
	body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-mini {
		font-size: clamp(14px, 0.8048495851rem + 0.2074688797vw, 15px);
	}
}

@media (max-width: 540px) {
	body.page .ol-dual-heading__subtitle.ol-heading.ol-heading-large {
		font-size: clamp(14px, 0.875rem + 0vw, 14px);
	}
}

/* 固定ページの日付まわり微調整 */
body.page .ol-article__meta {
	margin-top: calc(clamp(32px, 0.5454545455rem + 2.2727272727vw, 48px) - 1rem);
	row-gap: 1rem;
	margin-bottom: 1rem;
}
@media (max-width: 540px) {
	body.page .ol-article__meta {
		margin-top: calc(clamp(16px, -1rem + 8.8888888889vw, 32px) - 1rem);
	}
}

.um-author-box-heading {
	margin: 3rem 0 1rem;
	font-size: clamp(20px, 1rem + 0.8vw, 28px);
	line-height: 1.4;
}

.ol-article__writer {
	margin-top: calc(clamp(60px, 3.2307692308rem + 2.3076923077vw, 96px) - 3rem);
}

/* 診断ページ: ラジオボタン表示を標準に戻す */
#diagnosis-app {
	font-size: 16px !important;
	line-height: 1.8;
}

#diagnosis-app .question-title {
	font-size: 1rem !important;
}

#diagnosis-app .question-desc {
	font-size: 0.9rem !important;
}

#diagnosis-app .radio-options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 1rem !important;
}

#diagnosis-app .radio-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 1rem !important;
	line-height: 1.3 !important;
}

#diagnosis-app .radio-label input[type="radio"] {
	display: inline-block !important;
	appearance: auto !important;
	-webkit-appearance: radio !important;
	-moz-appearance: radio !important;
	opacity: 1 !important;
	position: static !important;
	visibility: visible !important;
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	accent-color: #2563eb;
	cursor: pointer;
}
