@charset "utf-8";

/* ==================================================
やさしい日本語・ルビふり・音声読み上げ
================================================== */

/* ルビ振り */
/*
.js_ruby_nsi { display: none; }
.ruby_active .js_ruby_ari { display: none; }
.ruby_active .js_ruby_nsi { display: block; }

#js_ruby_nsi.js_ruby_nsi { display: none; }
.ruby_active #js_ruby_ari.js_ruby_ari { display: none; }
.ruby_active #js_ruby_nsi.js_ruby_nsi { display: block; }
*/

/* やさしい日本語 */
.js_easy_nsi { display: none; }
.easy_active .js_easy_ari { display: none; }
.easy_active .js_easy_nsi { display: block; }

#js_easy_nsi.js_easy_nsi { display: none; }
.easy_active #js_easy_ari.js_easy_ari { display: none; }
.easy_active #js_easy_nsi.js_easy_nsi { display: block; }

/* 音声読み上げ */
#voice_read,
.h_voice,
.h_sound,
.h_navi_read {
	position: relative;
}
.sound_box {
	display: none;
	position: absolute;
	top: calc(100% + 18px);
	right: 0px;
	z-index: 100;
	border: 10px solid #153d5d;
	border-radius: 10px;
	background: #ffffff;
	color: #333333;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	min-width: 32rem;
	margin: 0px;
	padding: 6px 20px;
	text-align: center;
	white-space: nowrap;
}
.sound_box.open {
	display: block;
}
.sound_box .tsutaeru-speech {
	text-align: center;
}

#js_sound_btn .sound_close {
	display: none;
}
/*
#js_sound_btn.open .sound_close {
	display: inline;
}
#js_sound_btn.open .sound_open {
	display: none;
}
*/

#voice_read button.h_sound_btn.open,
.h_voice button.h_sound_btn.open,
.h_sound button.h_sound_btn.open {
	position: relative;
}
#voice_read button.h_sound_btn.open::before,
.h_voice button.h_sound_btn.open::before,
.h_sound button.h_sound_btn.open::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: -4px;
	left: 50%;
	-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
			transform: translateX(-50%);
	background: #004273;
	color: #ffffff;
}
#voice_read button.h_sound_btn.open::after,
.h_voice button.h_sound_btn.open::after,
.h_sound button.h_sound_btn.open::after {
	content: '';
	position: absolute;
	bottom: -12px;
	left: 50%;
	-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
			transform: translateX(-50%);
	border: 8px solid transparent;
	border-bottom-width: 0px;
	border-top-width: 9px;
	border-top-color: #004273;
}

.color_change #voice_read button.h_sound_btn.open::before,
.color_change .h_voice button.h_sound_btn.open::before,
.color_change .h_sound button.h_sound_btn.open::before {
	background: #ffffff !important;
}
.color_change #voice_read button.h_sound_btn.open::after,
.color_change .h_voice button.h_sound_btn.open::after,
.color_change .h_sound button.h_sound_btn.open::after {
	border-top-color: #ffffff !important;
}

/* 音声読み上げ 閉じるボタン */
#js_sound_close_btn {
	display: block;
	width: 21px;
	height: 21px;
	border: 3px solid #ffffff !important;
	border-radius: 100%;
	background: url("/img/common/icon_clear.png") no-repeat center center #333333 !important;
	background-size: 7px 7px !important;
	color: #ffffff;
	position: absolute;
	right: -21px;
	bottom: -21px;
	z-index: 1;
}

/* スマートフォン */
@media screen and (max-width: 1100px) {

	#voice_read,
	.h_voice,
	.h_sound {
		width: 100%;
	}

	.sound_box,
	.sound_box.open {
		display: block;
		position: static;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
		border: none;
		background: none;
		min-width: auto;
		padding: 0px;
	}

	#js_sound_btn .sound_close,
	#js_sound_btn.open .sound_close {
		display: none;
	}
	#js_sound_btn .sound_open,
	#js_sound_btn.open .sound_open {
		display: inline;
	}

	.sound_box .tsutaeru-speech {
		text-align: left;
	}

	#js_sound_btn {
		text-decoration: none !important;
		pointer-events: none;
	}

	#js_sound_close_btn {
		display: none !important;
	}

	#voice_read button.h_sound_btn.open::before,
	.h_voice button.h_sound_btn.open::before,
	.h_sound button.h_sound_btn.open::before,
	#voice_read button.h_sound_btn.open::after,
	.h_voice button.h_sound_btn.open::after,
	.h_sound button.h_sound_btn.open::after {
		display: none;
	}

}
/* スマートフォン ここまで */

/* ==================================================
やさしい日本語・ルビふり・音声読み上げ ここまで
================================================== */


/* ==================================================
Foreign language
================================================== */

.h_lang button.h_lang_btn.open {
	position: relative;
}
.h_lang button.h_lang_btn.open::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: -4px;
	left: 50%;
	-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
			transform: translateX(-50%);
	background: #004273;
	color: #ffffff;
}
.h_lang button.h_lang_btn.open::after {
	content: '';
	position: absolute;
	bottom: -12px;
	left: 50%;
	-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
			transform: translateX(-50%);
	border: 8px solid transparent;
	border-bottom-width: 0px;
	border-top-width: 9px;
	border-top-color: #004273;
}

.color_change .h_lang button.h_lang_btn.open::before {
	background: #ffffff !important;
}
.color_change .h_lang button.h_lang_btn.open::after {
	border-top-color: #ffffff !important;
}

.h_lang {
	position: relative;
}
.lang_box {
	display: none;
	position: absolute;
	top: calc(100% + 18px);
	right: 0px;
	z-index: 100;
	border: 1px solid transparent;
	border-radius: 10px;
	background: #153d5d;
	color: #ffffff;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	min-width: 31rem;
	margin: 0px;
	padding: 10px 20px;
	text-align: left;
}
.lang_box.open {
	display: block;
}

.lang_box ul.lang_list {
	margin: 0px;
	padding: 10px 0px 5px 20px;
	list-style: disc;
	display: block;
}
.lang_box ul.lang_list li {
	margin-bottom: 5px;
}
.lang_box ul.lang_list a {
	display: inline;
	padding: 0px;
	background: none;
	color: inherit;
	font-size: var(--fontsize-main, 1.6rem);
	font-weight: normal;
	line-height: 1.5;
}

#js_lang_btn .lang_close {
	display: none;
}
/*
#js_lang_btn.open .lang_close {
	display: inline;
}
#js_lang_btn.open .lang_open {
	display: none;
}
*/

/* 閉じるボタン */
#js_lang_close_btn {
	display: block;
	width: 21px;
	height: 21px;
	border: 3px solid #ffffff !important;
	border-radius: 100%;
	background: url("/img/common/icon_clear.png") no-repeat center center #333333 !important;
	background-size: 7px 7px !important;
	color: #ffffff;
	position: absolute;
	right: -11px;
	bottom: -11px;
	z-index: 1;
}

/* スマートフォン */
@media screen and (max-width: 1100px) {

	.lang_box {
		top: 100%;
		min-width: auto;
		width: calc(100vw - 40px);
	}

	.h_lang button.h_lang_btn.open::before,
	.h_lang button.h_lang_btn.open::after {
		display: none;
	}

}
/* スマートフォン ここまで */

/* ==================================================
Foreign language ここまで
================================================== */


/* ==================================================
検索
================================================== */

/* 検索フォーム */
.keyword_search_box label.search_ttl {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.1;
	letter-spacing: .05em;
}
.keyword_search_box .search_ipt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	margin: 17px 0px 0px;
}
.keyword_search_box input.search_txt {
	color: #333 !important;
	font-size: 1.4rem;
	letter-spacing: .05em;
	width: calc(100% - 10rem);
	min-width: 60%;
	min-height: 60px;
	padding: 9px 18px;
	border-radius: 10px 0 0 10px;
	border: 1px solid #cdcdcd;
	border-right: 0;
	background-color: #fff !important;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.keyword_search_box input.search_btn {
	color: #153d5d;
	font-size: 1.5rem;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 10rem;
	max-width: 40%;
	min-height: 60px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 0px 10px 10px 0px;
	background: #5cc4e8;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.keyword_search_box .search_note {
	font-size: 1.4rem;
	line-height: calc(20/14);
	text-align: right;
	padding: 5px 0;
	margin: 14px 0 0;
}

p.ggl_note {
	margin: 10px;
	font-size: var(--fontsize-detail-small, 1.5rem);
	line-height: var(--lineheight-main, 1.5);
}

/* スマートフォン */
@media screen and (max-width: 1100px) {

	.keyword_search_box input.search_txt {
		width: calc(100% - 7rem);
		min-height: 50px;
		border-radius: 5px 0 0 5px;
		font-size: var(--fontsize-main, 1.4rem);
	}
	.keyword_search_box input.search_btn {
		width: 7rem;
		min-height: 50px;
		border-radius: 0 5px 5px 0;
		font-size: var(--fontsize-main, 1.4rem);
	}
	#top_search_page_id #open_page_id,
	#top_search_page_id #open_page_id_submit {
		font-size: var(--fontsize-main, 1.4rem);
	}

}
/* スマートフォン ここまで */

/* ==================================================
コグモサーチ ここまで
================================================== */