@charset "UTF-8";
/*
 * 旧テーマ(public/theme/assets/css)に足した分だけ。旧テーマの CSS は直さない。
 * 新しいページ(ご意見・アンケート・情報公開・管理者から)を、旧サイトの見た目に合わせるためのもの。
 * 色は旧テーマのもの(#444 文字・#BAAF9D ベージュ・#FBF9F8 薄いベージュ・#ccc 線)を使う。
 */

[hidden] {
	display: none !important;
}

/*
 * 見出しの書体「コーポレート・ロゴ ver3」(LOGOTYPE.JP、SIL OFL 1.1。public/fonts/corporate-logo/OFL.txt)。
 * 今のサイトは委託先名義の Adobe Fonts のキット(corporate-logo-ver2)で出していたので、配布版に置き換えた。
 * かな・英数字・記号だけに絞ってある(各80KB)。漢字はこの書体の元の源ノ角ゴシックと同じ形の Noto Sans JP で出す。
 */
@font-face {
	font-family: "corporate-logo-ver2";
	src: url(/fonts/corporate-logo/corporate-logo-medium-ver3.woff2) format("woff2");
	font-weight: 100 500;
	font-display: swap;
	unicode-range: U+0020-007E, U+00A0-00FF, U+2010-2027, U+2030-205E, U+2190-2193, U+2460-2473, U+25A0-25FF, U+2600-26FF, U+3000-303F, U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+FF01-FF9F;
}

@font-face {
	font-family: "corporate-logo-ver2";
	src: url(/fonts/corporate-logo/corporate-logo-bold-ver3.woff2) format("woff2");
	font-weight: 600 900;
	font-display: swap;
	unicode-range: U+0020-007E, U+00A0-00FF, U+2010-2027, U+2030-205E, U+2190-2193, U+2460-2473, U+25A0-25FF, U+2600-26FF, U+3000-303F, U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+FF01-FF9F;
}

.-bs {
	font-family: "corporate-logo-ver2", "Noto Sans JP", sans-serif;
}

.whj-pre {
	white-space: pre-line;
}

.whj-center {
	display: flex;
	justify-content: center;
	margin: 40px auto;
}

.whj-center.btn_02 a {
	width: auto;
	min-width: 210px;
	padding: 0 28px;
}

.whj-small {
	font-size: 13px;
	color: #666;
	margin-top: 8px;
	line-height: 1.8;
}

.whj-error {
	color: #c0392b;
	font-weight: 600;
	text-align: center;
	margin: 24px 0 0;
}

/* ページ名(旧サイトは画像。新しいページは同じ見た目を文字で) */
.whj-ttl {
	display: inline-block;
	font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 44px;
	line-height: 1;
	letter-spacing: 0.12em;
	color: #4a4a4a;
	padding: 18px 28px 20px 34px;
	white-space: nowrap;
	background: linear-gradient(90deg, #f8c39c 0%, #eef49a 30%, #a3ebc9 58%, #9fdcef 80%, #d8c9f4 100%);
}

@media (max-width: 640px) {
	.whj-ttl {
		font-size: 24px;
		padding: 10px 16px 11px 19px;
	}
}

/* 情報公開(旧サイトの「出版・印刷物」の一覧の見た目で区分を足す) */
.whj-pub {
	background: #fff;
}

.whj-pub .whj-pub-inner {
	max-width: 1000px;
	padding: 64px 0 0;
}

.whj-pub.-last .whj-pub-inner {
	padding-bottom: 104px;
}

.whj-hl {
	font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.12em;
	color: #4a4a4a;
}

.whj-pub-fac {
	margin-bottom: 32px;
	scroll-margin-top: 120px;
}

.whj-pub-fac-hl {
	font-size: 17px;
	font-weight: 500;
	margin: 24px 0 12px;
	padding-left: 12px;
	border-left: 4px solid #BAAF9D;
}

.whj-pub-note,
.whj-note-box {
	background: #FBF9F8;
	padding: 16px 24px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.9;
	margin-bottom: 24px;
}

.whj-note-box {
	max-width: 1000px;
	margin: 0 auto 24px;
	box-sizing: border-box;
}

.whj-note-box a,
.whj-pub-note a,
.whj-pub-text a,
.whj-small a,
.lead__text a {
	text-decoration: underline;
}

.whj-pub-text {
	background: #FBF9F8;
	padding: 24px 28px;
	margin-top: 24px;
	border-radius: 10px;
	font-size: 15px;
	line-height: 1.9;
	scroll-margin-top: 120px;
}

.whj-pub-text h3 {
	font-size: 17px;
	font-weight: 700;
	margin-bottom: 8px;
}

.publication__list-item a.whj-nolink {
	cursor: default;
	color: #888;
}

.whj-scroll {
	overflow-x: auto;
	margin-top: 16px;
}

.whj-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	background: #fff;
}

.whj-table th,
.whj-table td {
	border: 1px solid #ccc;
	padding: 8px 12px;
	text-align: left;
	white-space: nowrap;
}

.whj-table th {
	background: #EAE7E1;
	font-weight: 500;
}

@media (max-width: 640px) {
	.whj-hl {
		font-size: 20px;
	}
	.whj-pub .whj-pub-inner {
		width: 100%;
		padding-top: 48px;
	}
	.whj-pub.-last .whj-pub-inner {
		padding-bottom: 56px;
	}
	.whj-pub-text {
		padding: 18px;
	}
}

/* 事業所のページ: 管理者から・下のボタン */
#facility__manager {
	scroll-margin-top: 100px;
}

.whj-easy {
	font-size: 17px;
	letter-spacing: 0.08em;
}

.whj-more {
	margin-top: 16px;
	text-align: right;
	font-size: 14px;
}

.whj-more a {
	text-decoration: underline;
}

.whj-cta-add {
	margin-top: 24px;
}

/* ご意見・アンケートのフォーム(旧サイトのお問い合わせ #form に、ラジオ・選ぶ欄を足す) */
#form select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	font-size: 1rem;
	padding: 0 40px 0 12px;
	width: 100%;
	height: 50px;
	box-sizing: border-box;
	border-radius: 0;
	border: 1px solid #999;
	background: #FBF9F8 url(/theme/assets/images/common/arrow_04/arrow_d_gy.svg) no-repeat right 14px center / 14px auto;
	color: inherit;
}

#form .your-radio label input[type="radio"] {
	display: block;
	opacity: 0;
}

#form .your-radio label input[type="radio"] + span,
#form .your-radio label input[type="checkbox"] + span {
	position: relative;
	padding-left: 4px;
	line-height: 1.9;
}

#form .your-radio label input[type="radio"] + span::before {
	display: block;
	content: "";
	width: 13px;
	height: 13px;
	border: 1px solid #BAAF9D;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 7px;
	left: -18px;
}

#form .your-radio label input[type="radio"]:checked + span::after {
	display: block;
	content: "";
	width: 7px;
	height: 7px;
	background: #BAAF9D;
	border-radius: 50%;
	position: absolute;
	top: 10px;
	left: -15px;
}

/* キーボードで選んでいる所が見えるように */
#form .your-radio label input:focus-visible + span {
	outline: 2px solid #BAAF9D;
	outline-offset: 2px;
}

#form .form__btn input[type="submit"]:disabled {
	background: #999;
	cursor: wait;
}

.whj-code {
	max-width: 14em;
	font-family: "Oxanium", "Noto Sans JP", sans-serif !important;
	letter-spacing: 0.12em;
}

.whj-sec {
	font-size: 18px;
	margin: 48px 0 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid #ccc;
}

.whj-col {
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.whj-col .btn_02 a {
	width: auto;
	padding: 0 28px;
}

.whj-done {
	max-width: 760px;
	margin: 64px auto 80px;
	background: #FBF9F8;
	border-radius: 10px;
	padding: 40px;
	box-sizing: border-box;
	line-height: 1.9;
}

.whj-done h2 {
	font-size: 22px;
	margin-bottom: 12px;
}

.whj-receipt {
	font-family: "Oxanium", "Noto Sans JP", sans-serif;
	font-size: 30px;
	letter-spacing: 0.08em;
	margin: 12px 0;
}

@media (max-width: 640px) {
	.whj-done {
		padding: 24px;
		margin: 40px auto 56px;
	}
}

/* フッター: プライバシーポリシーのリンク */
.footer__links-add {
	display: flex;
	justify-content: center;
	margin: 0 0 12px;
	font-size: 12px;
}

.footer__links-add a {
	color: inherit;
	text-decoration: underline;
}

/* 管理者から: 旧テーマの施設概要(#facility__outline)と同じ並び。facility.css の規則を写したもの */
.whj-outline .facility__section-desc {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.whj-outline .facility__outline-hl  {
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 32px;
}

.whj-outline .facility__outline-items {
	display: flex;
	flex-direction: column;
}

.whj-outline .facility__outline-item {
	display: flex;
	border-bottom: 1px dotted #ddd;
}

.whj-outline .facility__outline-item:first-of-type {
	border-top: 1px dotted #ccc;
}

.whj-outline .facility__outline-item-hl {
	width: 33%;
	flex-shrink: 0;
	padding: 24px;
}

.whj-outline .facility__outline-item-hl > span {
	display: inline-block;
}

.whj-outline .facility__outline-item-desc {
	padding: 24px 24px 24px 0;
}

.whj-outline .facility__outline-item-desc p > span {
	display: inline-block
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	.whj-outline .facility__outline-item {
		flex-direction: column;
	}

	.whj-outline .facility__outline-item-hl {
		width: 100%;
		padding: 16px 4% 4px 4%;
	}

	.whj-outline .facility__outline-item-desc {
		width: 100%;
		padding: 4px 4% 16px 4%;
	}

}

@media (max-width: 640px) {

}

/* 情報公開: 事業所ごとは、パソコンでは2列 */
.whj-pub-facs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 5%;
}

.whj-pub-facs .publication__list-item {
	width: 100%;
}

.whj-pub-facs .publication__list-item a {
	padding: 20px 20px 20px 24px;
	border-top: 1px solid #ccc;
}

@media (max-width: 960px) {
	.whj-pub-facs {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.whj-receipt {
		font-size: 22px;
	}
}

/*
 * 法人ロゴ(令和8年度に作ったもの。public/brand/。tools/make_logo_assets.ps1 で作る)
 * 今のサイトのロゴの画像を置き換えるだけで、置き場所・大きさの並びは変えない
 */
#header .logo .-pic {
	width: 210px;
}

#header .logo .-pic > .-img {
	padding-top: 30.67%; /* 横組みのロゴの縦横の比(900×276) */
	background: url(/brand/logo_h_color.png) no-repeat left center / contain;
}

@media (max-width: 960px) {
	#header .logo .-pic {
		width: 170px;
	}
	#header .logo .-pic > .-img {
		padding-top: 30.67%;
		background-image: url(/brand/logo_h_color.png);
	}
}

@media (max-width: 640px) {
	#header .logo .-pic {
		width: 130px;
	}
}

#footer .footer__logo img {
	width: 240px;
	height: auto;
}

/* 縦の「WHJ」の飾り(トップの大きい写真・メニュー・フッター・WHJについて)を、新しいロゴの字にする */
.-whj {
	background-size: contain !important;
	background-position: center top !important;
}

.-whj.-k,
.-whj.-gr {
	background-image: url(/brand/whj_v_navy.png);
}

.-whj.-w {
	background-image: url(/brand/whj_v_white.png);
}

.-whj.-gy {
	background-image: url(/brand/whj_v_white.png);
	opacity: 0.45;
}

/* WHJについて: ロゴマーク */
.whj-logo-sec {
	margin-top: 96px;
	scroll-margin-top: 100px;
}

.whj-logo-body {
	display: flex;
	align-items: center;
	gap: 56px;
	margin-top: 40px;
}

.whj-logo-pic {
	flex: 0 0 300px;
}

.whj-logo-pic img {
	width: 100%;
	height: auto;
	display: block;
}

.whj-logo-catch {
	font-size: 22px;
	letter-spacing: 0.08em;
	margin-bottom: 20px;
	color: #5f7399; /* ロゴの「WHJ」の色 */
}

.whj-logo-text p {
	font-size: 15px;
	line-height: 2.1;
}

@media (max-width: 960px) {
	.whj-logo-body {
		flex-direction: column;
		gap: 32px;
	}
	.whj-logo-pic {
		flex-basis: auto;
		width: 220px;
	}
}

@media (max-width: 640px) {
	.whj-logo-sec {
		margin-top: 64px;
	}
	.whj-logo-catch {
		font-size: 18px;
		text-align: center;
	}
}

/* 文字の大きさ(メニューとフッターの切り替え)。テーマの字の大きさは px なので、本文の所(#main)を拡大する */
html.whj-large #main {
	zoom: 1.18;
}

.whj-size-switch {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 14px;
	margin-bottom: 32px;
}

.whj-size-switch button {
	font: inherit;
	font-size: 13px;
	padding: 4px 14px;
	border-radius: 20px;
	border: 1px solid currentColor;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.whj-size-switch button[aria-pressed="true"] {
	background: #444;
	border-color: #444;
	color: #fff;
}

#footer .whj-size-switch {
	display: inline-flex;
	margin: 0 0 0 24px;
	font-size: 12px;
}

#footer .whj-size-switch button[aria-pressed="true"] {
	background: #fff;
	border-color: #fff;
	color: #444;
}

/* やさしい ことばの説明(ご意見・アンケートの窓口) */
.whj-easy-box {
	max-width: 1000px;
	margin: 0 auto 32px;
	box-sizing: border-box;
	background: #FFF8E7;
	border: 2px solid #F3D9A4;
	border-radius: 12px;
	padding: 18px 24px;
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.06em;
}

.whj-easy-box .whj-easy-hl {
	font-size: 14px;
	font-weight: 700;
	color: #8a6d2f;
	margin-bottom: 4px;
}

@media (max-width: 640px) {
	.whj-easy-box {
		font-size: 17px;
		padding: 14px 16px;
	}
	#footer .whj-size-switch {
		display: flex;
		margin: 12px 0 0;
	}
	.footer__links-add {
		flex-direction: column;
		align-items: center;
	}
}

/* 事業所: ご利用について */
.whj-vacancy {
	display: inline-block;
	background: #EAE7E1;
	border-radius: 4px;
	padding: 0 10px;
	font-weight: 500;
}

.whj-flow {
	list-style: none;
	margin: 0;
	padding: 0;
}

.whj-flow li {
	display: flex;
	gap: 16px;
	padding: 4px 0;
	border-bottom: 1px dotted #ccc;
}

.whj-flow-time {
	flex: 0 0 4em;
	font-family: "Oxanium", "Noto Sans JP", sans-serif;
	color: #5f7399;
}

.whj-btn-wide {
	margin-top: 12px;
}

.whj-btn-wide a {
	width: auto;
	display: inline-flex;
	padding: 0 28px;
}

/* 求人採用: 募集中の職種 */
.whj-jobs {
	background: #fff;
	scroll-margin-top: 80px;
}

.whj-jobs-inner {
	max-width: 1000px;
	padding: 96px 0 104px;
}

.whj-jobs-lead {
	text-align: center;
	font-size: 20px;
	letter-spacing: 0.1em;
	margin: 8px 0 40px;
}

.whj-jobs-list {
	display: grid;
	gap: 24px;
}

.whj-job {
	background: #FBF9F8;
	border-radius: 12px;
	padding: 28px 32px;
}

.whj-job-head h3 {
	font-size: 22px;
	margin: 6px 0 4px;
}

.whj-job-tag {
	display: inline-block;
	background: #444;
	color: #fff;
	font-size: 12px;
	border-radius: 4px;
	padding: 2px 10px;
}

.whj-job-place {
	font-size: 14px;
	color: #666;
}

.whj-job-dl {
	display: grid;
	grid-template-columns: 7em 1fr;
	gap: 8px 16px;
	margin: 16px 0 8px;
	font-size: 15px;
	line-height: 1.8;
}

.whj-job-dl dt {
	color: #666;
}

.whj-jobs-more {
	margin-top: 32px;
	text-align: center;
	font-size: 14px;
	color: #666;
}

@media (max-width: 640px) {
	.whj-jobs-inner {
		width: 92%;
		padding: 64px 0;
	}
	.whj-job {
		padding: 20px;
	}
	.whj-job-dl {
		grid-template-columns: 1fr;
	}
	.whj-job-dl dd {
		margin-bottom: 8px;
	}
}

/* お知らせ: カテゴリー「カレンダー」の札(旧テーマの「その他」と同じ形、色だけ薄い水色) */
#news .news__list-sort-category-item.-calendar a,
#news .news__list-item-category-item.-calendar,
#post__header .post__header-category-item.-calendar {
	background: #D6ECF3;
	border-color: #D6ECF3;
}

#news .news__list_item .news__list_cat.-calendar {
	background: #D6ECF3;
}

/* 多言語の案内 */
.whj-lang-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 12px;
	margin-bottom: 16px;
}

.whj-lang-nav a {
	border: 1px solid #BAAF9D;
	border-radius: 20px;
	padding: 6px 18px;
	font-size: 15px;
}

.whj-lang {
	font-size: 17px;
	line-height: 2;
}

.whj-lang h2 {
	font-size: 22px;
	margin-bottom: 8px;
}

.whj-lang-links {
	margin-top: 8px;
	font-size: 15px;
}

.whj-lang-links a {
	text-decoration: underline;
}

.footer__links-add .whj-lang-link {
	margin-left: 24px;
}

@media (max-width: 640px) {
	.footer__links-add .whj-lang-link {
		margin: 8px 0 0;
	}
}
