.header-search__form {
	display: grid;
	gap: 8px;
	position: relative;
}

@media (min-width: 1301px) {
	.header-search__form {
		display: flex;
		align-items: center;
		gap: 0;
	}
}

.header-search__form .header-search__input {
	padding-right: 42px;
}

.header-search__form .header-search__button {
	position: absolute;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	min-height: 32px;
	border-radius: 50%;
	background: transparent;
	border: none;
	padding: 0;
	font-size: 0;
	color: transparent;
}

.header-search__form .header-search__button::before {
	content: '';
	position: absolute;
	top: 8px;
	left: 8px;
	width: 12px;
	height: 12px;
	border: 2px solid #1a877e;
	border-radius: 50%;
	box-sizing: border-box;
}

.header-search__form .header-search__button::after {
	content: '';
	position: absolute;
	top: 18px;
	left: 19px;
	width: 8px;
	height: 2px;
	background: #1a877e;
	transform: rotate(45deg);
	transform-origin: left center;
	border-radius: 2px;
}

.header-search__form .header-search__button:hover::before,
.header-search__form .header-search__button:hover::after,
.header-search__form .header-search__button:focus-visible::before,
.header-search__form .header-search__button:focus-visible::after {
	background: #fff;
	border-color: #fff;
}

.header-search__form .header-search__button:hover,
.header-search__form .header-search__button:focus-visible {
	background: #1a877e;
}

.header-search__cse {
	max-width: 280px;
	width: 100%;
}

.header-search .gsc-control-cse,
.header-search .gsc-control-searchbox-only {
	background: transparent;
	border: none;
	max-width: 100%;
	padding: 0;
	width: 100%;
}

.header-search table.gsc-search-box,
.header-search form.gsc-search-box {
	margin: 0;
	max-width: 100%;
	width: 100% !important;
}

.header-search table.gsc-search-box td.gsc-input {
	padding-right: 0;
}

.header-search .gsib_b {
	display: none;
}

.header-search .gsc-input-box {
	border: 1px solid rgba(34, 34, 34, 0.28);
	border-radius: 0;
	height: auto;
	min-height: 36px;
	padding: 0;
}

.header-search .gsc-input-box,
.header-search .gsc-input-box-hover,
.header-search .gsc-input-box-focus {
	box-shadow: none;
}

.header-search .gsib_a {
	padding: 6px 10px;
}

.header-search input.gsc-input {
	font-size: 14px !important;
	height: auto !important;
	line-height: 1.4 !important;
	min-height: 22px !important;
	padding: 0 !important;
}

.header-search .gsc-search-button-v2,
.header-search .gsc-search-button {
	display: none;
}

.gsc-control-cse.gsc-control-cse-ja {
	padding: 0;
}

.searchform-pc form.gsc-search-box {
	margin: 0;
}

.searchform-pc .gsib_b {
	display: none;
}

.searchform-pc .gsc-above-wrapper-area,
.searchform-pc .gsc-wrapper,
.google-search-results .gsc-above-wrapper-area,
.google-search-results .gsc-wrapper,
.entry-block .gsc-above-wrapper-area,
.entry-block .gsc-wrapper {
	max-width: max-content !important;
}

@media (min-width: 1301px) {
	.header-search__cse {
		max-width: 180px;
		width: 180px;
	}

	.header-search .gsc-control-cse,
	.header-search .gsc-control-searchbox-only,
	.header-search table.gsc-search-box,
	.header-search form.gsc-search-box,
	.header-search .gsc-input-box {
		max-width: 180px;
		width: 180px !important;
	}

	.header-search .gsc-input-box {
		min-height: 34px;
	}

	.header-search .gsib_a {
		padding: 5px 10px;
	}

	.header-search input.gsc-input {
		min-height: 20px !important;
	}
}

.header-utility__language {
	display: grid;
	gap: 8px;
	width: 100%;
}

.header-utility__language-label {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.header-utility__language-widget {
	position: relative;
	width: 100%;
}

.header-utility__language-widget:has(select.goog-te-combo):after {
	background-image: url('../images/arrow_icon_green.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	height: 14px;
	pointer-events: none;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	width: 7px;
}

.header-utility__language-widget #google_language_translator {
	width: 100% !important;
}

.header-utility__language-widget select.goog-te-combo {
	appearance: none;
	background-color: #fff;
	border: 1px solid #1a877e;
	border-radius: 32px;
	color: #1a877e;
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	min-height: 36px;
	padding: 6px 36px 6px 12px;
	width: 100%;
}

.header-utility__language-widget .skiptranslate.goog-te-gadget {
	display: block !important;
}

.header-utility__language-widget .goog-te-gadget {
	color: transparent;
	font-size: 0;
}

.header-utility__language-widget .goog-te-gadget > span {
	display: none;
}

@media (min-width: 1301px) {
	.header-utility__language {
		align-items: center;
		display: flex;
		gap: 0;
		width: auto;
	}

	.header-utility__language-label {
		color: #333;
		margin-right: 8px;
		white-space: nowrap;
	}

	.header-utility__language-widget {
		width: auto;
	}

	.header-utility__language-widget select.goog-te-combo {
		min-height: 34px;
		min-width: 140px;
		width: auto;
	}
}

/* Hide floating widget when translator is in the header (old site used header dropdown only). */
#glt-translate-trigger,
#glt-toolbar {
	display: none !important;
}

.goog-te-banner-frame.skiptranslate {
	display: none !important;
}

html[class^='translated'] body {
	top: 0 !important;
}

/* Google翻訳時に挿入される nowrap で崩れるケースを抑止 */
html[class^='translated'] [style*='white-space:nowrap'],
html[class^='translated'] [style*='white-space: nowrap'] {
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}
